mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-25 14:40:56 +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>
|
2005-01-11 23:50 Alexander Malmberg <alexander@malmberg.org>
|
||||||
|
|
||||||
* Headers/AppKit/NSBezierPath.h (NSWindingRule)
|
* Headers/AppKit/NSBezierPath.h (NSWindingRule)
|
||||||
|
|
|
@ -65,19 +65,19 @@
|
||||||
|
|
||||||
+(NSPrinter*) defaultPrinter
|
+(NSPrinter*) defaultPrinter
|
||||||
{
|
{
|
||||||
const char* defaultName;
|
const char *defaultName;
|
||||||
|
|
||||||
defaultName = cupsGetDefault();
|
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:
|
||||||
return [NSPrinter printerWithName:
|
[NSString stringWithCString: defaultName]];
|
||||||
[NSString stringWithCString: defaultName]];
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return nil;
|
return [NSPrinter printerWithName: GSCUPSDummyPrinterName];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
GSCUPSPrinter.h
|
GSCUPSPrinter.h
|
||||||
|
|
||||||
Class representing a printer's or printer model's capabilities.
|
Class representing a printer's or printer model's capabilities.
|
||||||
|
@ -32,6 +32,9 @@
|
||||||
#include <AppKit/NSPrinter.h>
|
#include <AppKit/NSPrinter.h>
|
||||||
|
|
||||||
|
|
||||||
|
@class NSString;
|
||||||
|
|
||||||
|
extern NSString *GSCUPSDummyPrinterName;
|
||||||
|
|
||||||
@interface GSCUPSPrinter : NSPrinter <NSCoding>
|
@interface GSCUPSPrinter : NSPrinter <NSCoding>
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,6 +61,8 @@
|
||||||
#include <cups/cups.h>
|
#include <cups/cups.h>
|
||||||
|
|
||||||
|
|
||||||
|
NSString *GSCUPSDummyPrinterName = @"GSCUPSDummyPrinter";
|
||||||
|
|
||||||
@implementation GSCUPSPrinter
|
@implementation GSCUPSPrinter
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -91,6 +93,37 @@
|
||||||
NSPrinter* printer;
|
NSPrinter* printer;
|
||||||
const char* ppdFile;
|
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]
|
printer = [[GSCUPSPrinter alloc]
|
||||||
initWithName: name
|
initWithName: name
|
||||||
withType: @"Type Unknown"
|
withType: @"Type Unknown"
|
||||||
|
|
Loading…
Reference in a new issue