Mercurial > projects > dwt-linux
comparison dwt/printing/Printer.d @ 211:00180515eb65
Update to SWT 3.3.2
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 19 Mar 2008 21:36:28 +0100 |
parents | 08789b28bdf3 |
children | 997624cece6a |
comparison
equal
deleted
inserted
replaced
210:e3472c527a14 | 211:00180515eb65 |
---|---|
73 char[] settingsData; | 73 char[] settingsData; |
74 int start, end; | 74 int start, end; |
75 | 75 |
76 static const char[] GTK_LPR_BACKEND = "GtkPrintBackendLpr"; //$NON-NLS-1$ | 76 static const char[] GTK_LPR_BACKEND = "GtkPrintBackendLpr"; //$NON-NLS-1$ |
77 | 77 |
78 static const bool disablePrinting = false;// System.getProperty("dwt.internal.gtk.disablePrinting") !is null; //$NON-NLS-1$ | |
79 | |
78 /** | 80 /** |
79 * Returns an array of <code>PrinterData</code> objects | 81 * Returns an array of <code>PrinterData</code> objects |
80 * representing all available printers. | 82 * representing all available printers. |
81 * | 83 * |
82 * @return the list of available printers | 84 * @return the list of available printers |
83 */ | 85 */ |
84 public static PrinterData[] getPrinterList() { | 86 public static PrinterData[] getPrinterList() { |
85 printerList = new PrinterData [0]; | 87 printerList = new PrinterData [0]; |
86 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0)) { | 88 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0) || disablePrinting) { |
87 return printerList; | 89 return printerList; |
88 } | 90 } |
89 OS.gtk_enumerate_printers(&GtkPrinterFunc_List, null, null, true); | 91 OS.gtk_enumerate_printers(&GtkPrinterFunc_List, null, null, true); |
90 return printerList; | 92 return printerList; |
91 } | 93 } |
117 * | 119 * |
118 * @since 2.1 | 120 * @since 2.1 |
119 */ | 121 */ |
120 public static PrinterData getDefaultPrinterData() { | 122 public static PrinterData getDefaultPrinterData() { |
121 printerList = new PrinterData [1]; | 123 printerList = new PrinterData [1]; |
122 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0)) { | 124 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0) || disablePrinting) { |
123 return null; | 125 return null; |
124 } | 126 } |
125 OS.gtk_enumerate_printers(&GtkPrinterFunc_Default, null, null, true); | 127 OS.gtk_enumerate_printers(&GtkPrinterFunc_Default, null, null, true); |
126 return printerList[0]; | 128 return printerList[0]; |
127 } | 129 } |
630 * mechanism of the <code>Device</code> class. | 632 * mechanism of the <code>Device</code> class. |
631 * @param deviceData the device data | 633 * @param deviceData the device data |
632 */ | 634 */ |
633 protected override void create(DeviceData deviceData) { | 635 protected override void create(DeviceData deviceData) { |
634 this.data = cast(PrinterData)deviceData; | 636 this.data = cast(PrinterData)deviceData; |
635 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0)) DWT.error(DWT.ERROR_NO_HANDLES); | 637 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0) || disablePrinting) DWT.error(DWT.ERROR_NO_HANDLES); |
636 printer = gtkPrinterFromPrinterData(); | 638 printer = gtkPrinterFromPrinterData(); |
637 if (printer is null) DWT.error(DWT.ERROR_NO_HANDLES); | 639 if (printer is null) DWT.error(DWT.ERROR_NO_HANDLES); |
638 } | 640 } |
639 | 641 |
640 /** | 642 /** |
696 } | 698 } |
697 } else { | 699 } else { |
698 paper_size = OS.gtk_paper_size_new(name.ptr); | 700 paper_size = OS.gtk_paper_size_new(name.ptr); |
699 } | 701 } |
700 OS.gtk_page_setup_set_paper_size(pageSetup, paper_size); | 702 OS.gtk_page_setup_set_paper_size(pageSetup, paper_size); |
701 OS.g_free(paper_size); | 703 OS.gtk_paper_size_free(paper_size); |
702 } | 704 } |
703 | 705 |
704 /* Set values of settings from PrinterData. */ | 706 /* Set values of settings from PrinterData. */ |
705 setScope(settings, data.scope_, data.startPage, data.endPage); | 707 setScope(settings, data.scope_, data.startPage, data.endPage); |
706 //TODO: Should we look at printToFile, or driver/name for "Print to File", or both? (see gtk bug 345590) | 708 //TODO: Should we look at printToFile, or driver/name for "Print to File", or both? (see gtk bug 345590) |