mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-25 06:01:05 +00:00
2005-01-12 00:41 Alexander Malmberg <alexander@malmberg.org>
* Printing/GSCUPS/GSCUPSPrinter.h (GSCUPSDummyPrinterName): New variable. * Printing/GSCUPS/GSCUPSPrinter.m (GSCUPSDummyPrinterName): New variable. (+printerWithName:): Warn and return a dummy printer when requested. * Printing/GSCUPS/GSCUPSPrintInfo.m (defaultPrinter): If there's no default CUPS printer set, return a dummy printer. Fixes bug #10916. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20542 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
9744d66b0c
commit
b5c97f812c
4 changed files with 55 additions and 7 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2005-01-12 00:41 Alexander Malmberg <alexander@malmberg.org>
|
||||
|
||||
* Printing/GSCUPS/GSCUPSPrinter.h (GSCUPSDummyPrinterName): New
|
||||
variable.
|
||||
* Printing/GSCUPS/GSCUPSPrinter.m (GSCUPSDummyPrinterName): New
|
||||
variable.
|
||||
(+printerWithName:): Warn and return a dummy printer when requested.
|
||||
* Printing/GSCUPS/GSCUPSPrintInfo.m (defaultPrinter): If there's
|
||||
no default CUPS printer set, return a dummy printer.
|
||||
|
||||
Fixes bug #10916.
|
||||
|
||||
2005-01-11 23:50 Alexander Malmberg <alexander@malmberg.org>
|
||||
|
||||
* Headers/AppKit/NSBezierPath.h (NSWindingRule)
|
||||
|
|
|
@ -65,19 +65,19 @@
|
|||
|
||||
+(NSPrinter*) defaultPrinter
|
||||
{
|
||||
const char* defaultName;
|
||||
const char *defaultName;
|
||||
|
||||
defaultName = cupsGetDefault();
|
||||
NSDebugLLog(@"GSCUPS", @"The default printer name is %s", defaultName);
|
||||
|
||||
if( defaultName )
|
||||
if (defaultName)
|
||||
{
|
||||
NSLog(@"The default printer name is %s", defaultName);
|
||||
return [NSPrinter printerWithName:
|
||||
[NSString stringWithCString: defaultName]];
|
||||
return [NSPrinter printerWithName:
|
||||
[NSString stringWithCString: defaultName]];
|
||||
}
|
||||
else
|
||||
{
|
||||
return nil;
|
||||
return [NSPrinter printerWithName: GSCUPSDummyPrinterName];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*
|
||||
/*
|
||||
GSCUPSPrinter.h
|
||||
|
||||
Class representing a printer's or printer model's capabilities.
|
||||
|
@ -32,6 +32,9 @@
|
|||
#include <AppKit/NSPrinter.h>
|
||||
|
||||
|
||||
@class NSString;
|
||||
|
||||
extern NSString *GSCUPSDummyPrinterName;
|
||||
|
||||
@interface GSCUPSPrinter : NSPrinter <NSCoding>
|
||||
{
|
||||
|
|
|
@ -61,6 +61,8 @@
|
|||
#include <cups/cups.h>
|
||||
|
||||
|
||||
NSString *GSCUPSDummyPrinterName = @"GSCUPSDummyPrinter";
|
||||
|
||||
@implementation GSCUPSPrinter
|
||||
|
||||
//
|
||||
|
@ -91,6 +93,37 @@
|
|||
NSPrinter* printer;
|
||||
const char* ppdFile;
|
||||
|
||||
if ([name isEqual: GSCUPSDummyPrinterName])
|
||||
{
|
||||
/* Create a dummy printer as a fallback. */
|
||||
static BOOL didWarn;
|
||||
NSString *ppdPath;
|
||||
|
||||
if (!didWarn)
|
||||
{
|
||||
NSLog(@"Creating a default printer since no default printer has "
|
||||
@"been set in CUPS.");
|
||||
didWarn = YES;
|
||||
}
|
||||
|
||||
ppdPath = [NSBundle
|
||||
pathForLibraryResource: @"Generic-PostScript_Printer-Postscript"
|
||||
ofType: @"ppd"
|
||||
inDirectory: @"PostScript/PPD"];
|
||||
NSAssert(ppdPath,
|
||||
@"Couldn't find the PPD file for the fallback printer.");
|
||||
|
||||
printer = [(GSCUPSPrinter*)[self alloc]
|
||||
initWithName: name
|
||||
withType: @"Unknown"
|
||||
withHost: @"Unknown"
|
||||
withNote: @"Automatically Generated"];
|
||||
|
||||
[printer parsePPDAtPath: ppdPath];
|
||||
|
||||
return printer;
|
||||
}
|
||||
|
||||
printer = [[GSCUPSPrinter alloc]
|
||||
initWithName: name
|
||||
withType: @"Type Unknown"
|
||||
|
|
Loading…
Reference in a new issue