patches/libgnomeprint-01-papi-print-dialog.diff
author dcarbery
Fri, 24 Nov 2006 16:37:59 +0000
branch217update
changeset 19096 d542fc2c823e
parent 19077 37d6c835daa9
permissions -rw-r--r--
Merged trunk changes r9797:9829 into 217update branch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19077
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     1
diff -urN libgnomeprint-2.12.1/libgnomeprint/gnome-print-transport.c ../SUNWgnome-print-2.14.0.hacked/libgnomeprint-2.12.1/libgnomeprint/gnome-print-transport.c
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     2
--- libgnomeprint-2.12.1/libgnomeprint/gnome-print-transport.c	2005-09-22 20:27:10.000000000 +0100
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     3
+++ ../SUNWgnome-print-2.14.0.hacked/libgnomeprint-2.12.1/libgnomeprint/gnome-print-transport.c	2006-04-25 18:21:16.465274000 +0100
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     4
@@ -392,10 +392,12 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     5
 gnome_print_transport_exists_by_name (const char *name)
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     6
 {
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     7
 	GnomePrintTransport *trans;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     8
+	GnomePrintConfig *config;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     9
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    10
 	g_return_val_if_fail (name != NULL, FALSE);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    11
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    12
-	trans = gnome_print_transport_new_from_module_name (name, NULL);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    13
+	config = gnome_print_config_default ();
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    14
+	trans = gnome_print_transport_new(config);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    15
 	if (trans != NULL) {
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    16
 		g_object_unref (trans);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    17
 		return TRUE;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    18
diff -urN libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi-transport.c ../SUNWgnome-print-2.14.0.hacked/libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi-transport.c
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    19
--- libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi-transport.c	2004-05-18 02:53:09.000000000 +0100
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    20
+++ ../SUNWgnome-print-2.14.0.hacked/libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi-transport.c	2006-04-25 18:19:35.557131000 +0100
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    21
@@ -153,9 +153,11 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    22
 	g_free (transport->printer);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    23
 	transport->printer = NULL;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    24
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    25
-	papiAttributeListFree (transport->attributes);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    26
-	transport->attributes = NULL;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    27
-
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    28
+	/* We do not free attributes here anymore because it is being freed by 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    29
+	   papiJobFree() in the gp_transport_papi_close(). This happens 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    30
+	   because transport->attributes is being passed to the lpd backend
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    31
+	   as job in papiJobStreamOpen ().
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    32
+	*/
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    33
 	G_OBJECT_CLASS (parent_class)->finalize (object);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    34
 }
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    35
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    36
@@ -181,6 +183,7 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    37
 		return GNOME_PRINT_ERROR_UNKNOWN;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    38
 	}
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    39
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    40
+g_print ("gp_transport_papi_construct: transport->printer is %s\n", value);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    41
 	transport->printer = value;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    42
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    43
 	status = papiServiceCreate (&service, transport->printer, NULL, NULL,
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    44
@@ -191,18 +194,6 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    45
 	}
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    46
 	transport->service = service;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    47
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    48
-	value = (char *)gnome_print_config_get (gp_transport->config,
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    49
-		(unsigned char *)GNOME_PRINT_KEY_NUM_COPIES);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    50
-	errno = 0;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    51
-	valint = strtol ((char *)value, NULL, 10);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    52
-	if (errno == 0)
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    53
-		papiAttributeListAddInteger (&attributes, PAPI_ATTR_EXCL,
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    54
-			"copies", valint);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    55
-	else
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    56
-		papiAttributeListAddInteger (&attributes, PAPI_ATTR_EXCL,
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    57
-			"copies", 1);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    58
-	g_free (value);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    59
-
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    60
 	/*
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    61
 	 * We really ought to pull this value from somewhere.  It probably will
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    62
 	 * be "application/postscript" most of the time, but at least with
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    63
@@ -339,11 +330,11 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    64
 		(const papi_attribute_t **)transport->attributes, NULL,
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    65
 		(const char **)&filename, &job);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    66
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    67
-	papiJobFree(job);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    68
-
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    69
 	if (status != PAPI_OK)
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    70
 		return GNOME_PRINT_ERROR_UNKNOWN;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    71
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    72
+	papiJobFree(job);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    73
+
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    74
 	return GNOME_PRINT_OK;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    75
 }
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    76
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    77
diff -urN libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi.c ../SUNWgnome-print-2.14.0.hacked/libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi.c
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    78
--- libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi.c	2006-04-25 18:18:12.454945000 +0100
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    79
+++ ../SUNWgnome-print-2.14.0.hacked/libgnomeprint-2.12.1/libgnomeprint/modules/papi/gnome-print-papi.c	2006-04-25 18:19:52.346914000 +0100
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    80
@@ -45,7 +45,7 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    81
 #include <libgnomeprint/gpa/gpa-settings.h>
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    82
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    83
 #define d(x)
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    84
-#define	GENERIC_PPD_FILE "file://localhost/usr/lib/lp/model/ppd/Generic/Generic-PostScript_Printer-Postscript.ppd.gz"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    85
+#define	GENERIC_PPD_FILE "file://localhost/usr/lib/lp/model/ppd/system/foomatic/Generic/Generic-PostScript_Printer-Postscript.ppd.gz"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    86
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    87
 /* Argument order: id, name */
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    88
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    89
@@ -77,7 +77,11 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    90
 "      </Option>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    91
 "      <Option Id=\"Job\">"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    92
 "        <Option Id=\"NumCopies\" Type=\"String\" Default=\"1\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    93
+"        <Option Id=\"NonCollatedCopiesHW\" Type=\"String\" Default=\"true\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    94
+"        <Option Id=\"CollatedCopiesHW\" Type=\"String\" Default=\"false\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    95
 "        <Option Id=\"Collate\" Type=\"String\" Default=\"false\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    96
+"        <Option Id=\"Duplex\" Type=\"String\" Default=\"false\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    97
+"        <Option Id=\"Tumble\" Type=\"String\" Default=\"false\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    98
 "        <Option Id=\"PrintToFile\" Type=\"String\" Default=\"false\" Locked=\"true\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    99
 "        <Option Id=\"FileName\" Type=\"String\" Default=\"\"/>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   100
 "      </Option>"
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   101
@@ -686,6 +690,11 @@
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   102
 			return;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   103
 		}
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   104
 
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   105
+		if (!printers) {
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   106
+			papiServiceDestroy (service);
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   107
+			return;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   108
+		}
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   109
+
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   110
 		for (i = 0; printers[i] != NULL; i++)
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   111
 			;
37d6c835daa9 2006-11-22 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
   112