Take netscape out of the dialog name, this is used by mozilla also.

Save printer dialog settings to preferences. Still have to hook up
margins. r=dveditz
This commit is contained in:
syd%netscape.com 2000-02-14 09:09:43 +00:00
Родитель e0a6f30d12
Коммит 6d240800fc
2 изменённых файлов: 40 добавлений и 9 удалений

Просмотреть файл

@ -21,6 +21,12 @@
*/
#include "nsDeviceContextSpecG.h"
#include "nsCOMPtr.h"
#include "nsIServiceManager.h"
#include "nsIPref.h"
#include "prenv.h" /* for PR_GetEnv */
//#include "prmem.h"
@ -100,12 +106,22 @@ NS_IMETHODIMP nsDeviceContextSpecGTK :: Init(PRBool aQuiet)
{
char *path;
// XXX these settings should eventually come out of preferences
PRBool reversed = PR_FALSE, color = PR_FALSE, landscape = PR_FALSE;
PRInt32 paper_size = NS_LETTER_SIZE;
float left, right, top, bottom; // XXX later
char *command;
nsresult rv;
mPrData.toPrinter = PR_TRUE;
mPrData.fpf = PR_TRUE;
mPrData.grayscale = PR_FALSE;
mPrData.size = NS_LETTER_SIZE;
nsCOMPtr<nsIPref> pPrefs = do_GetService(NS_PREF_PROGID, &rv);
// NS_WITH_SERVICE(nsIPref, pPrefs, NS_PREF_PROGID, &rv);
if(!NS_FAILED(rv) && pPrefs) {
(void) pPrefs->GetBoolPref("print.print_reversed", &reversed);
(void) pPrefs->GetBoolPref("print.print_color", &color);
(void) pPrefs->GetBoolPref("print.print_landscape", &landscape);
(void) pPrefs->GetIntPref("print.print_paper_size", &paper_size);
(void) pPrefs->CopyCharPref("print.print_command", (char **) &command);
sprintf( mPrData.command, command );
} else {
#ifndef VMS
sprintf( mPrData.command, "lpr" );
#else
@ -113,6 +129,12 @@ NS_IMETHODIMP nsDeviceContextSpecGTK :: Init(PRBool aQuiet)
// as I need to make the default be "print" instead of "lpr" for OpenVMS.
sprintf( mPrData.command, "print" );
#endif
}
mPrData.toPrinter = PR_TRUE;
mPrData.fpf = !reversed;
mPrData.grayscale = !color;
mPrData.size = paper_size;
// PWD, HOME, or fail
@ -127,8 +149,17 @@ NS_IMETHODIMP nsDeviceContextSpecGTK :: Init(PRBool aQuiet)
::UnixPrDialog( &mPrData );
if ( mPrData.cancel == PR_TRUE )
return NS_ERROR_FAILURE;
else
else {
if(pPrefs) {
pPrefs->SetBoolPref("print.print_reversed", !mPrData.fpf);
pPrefs->SetBoolPref("print.print_color", !mPrData.grayscale);
pPrefs->SetBoolPref("print.print_landscape", landscape);
pPrefs->SetIntPref("print.print_paper_size", mPrData.size);
if ( mPrData.toPrinter == PR_FALSE )
pPrefs->SetCharPref("print.print_command", mPrData.command);
}
return NS_OK;
}
}
NS_IMETHODIMP nsDeviceContextSpecGTK :: GetToPrinter( PRBool &aToPrinter )

Просмотреть файл

@ -204,7 +204,7 @@ DoPrintGTK (GtkWidget *widget, UnixPrOps *prOps)
gtk_window_set_transient_for (GTK_WINDOW (dialog),
GTK_WINDOW (prOps->widgets.toplevel));
#endif
gtk_window_set_title( GTK_WINDOW(dialog), "Netscape: Print" );
gtk_window_set_title( GTK_WINDOW(dialog), "Print" );
vbox = gtk_vbox_new (PR_FALSE, 0);
gtk_container_add (GTK_CONTAINER (dialog), vbox);