Source Code (Use browser search to find items of interest.)

Class Index

kdvi'print (./kdegraphics/kdvi/print.h:17)

class print : public printData
{
    Q_OBJECT

public:

    print
    (
        QWidget* parent = NULL,
        const char* name = NULL
    );

    virtual ~print();

    void setFile( QString file );
    void setCurrentPage( int page, int totalpages );
    void setMarkList( QStrList *marklist );

protected slots:

    void printDestinationChanged(int);
    void rangeToggled(bool);
    void setupPressed();
    void okPressed();
    void cancelPressed();
    void nupPressed(int);
    void readConfig();

private:
    QString ifile,ofile;
    int	curpage, totalpages, nup, printdest;
    QStrList *marklist;
    QString nupProgram, printMethod, spooler;

};

kdvi'print::print() (./kdegraphics/kdvi/print.cpp:36)

print::print
(
	QWidget* parent,
	const char* name
)
	:
	Inherited( parent, name )
{
	okButton->setDefault( TRUE );
	setCaption( i18n("Print") );
	readConfig();
	printDestinationChanged( 0 );
	printMarked->setEnabled( FALSE );
	fileNameLabel->setBuddy( printFileName );
	marklist = NULL;
	rangeToggled( FALSE );
	nup = 1;
	printdest = 0;
}



kdvi'print::~print() (./kdegraphics/kdvi/print.cpp:57)

print::~print()
{
}


kdvi'print::setFile() (./kdegraphics/kdvi/print.cpp:61)

void print::setFile( QString _file )
{
	ifile = ofile = _file.copy();
	setCaption( i18n("Print ") + ifile );
	QString of( _file );
	if ( of.right(4) == ".dvi" )
		of = of.left( of.length()-4 );
	of.append( printMethod == "dvilj4" ? ".lj" : ".ps" );
	printFileName->setText(of);
}


kdvi'print::setCurrentPage() (./kdegraphics/kdvi/print.cpp:72)

void print::setCurrentPage( int _page, int _totalpages )
{
	curpage = _page;
	totalpages = _totalpages;
}


kdvi'print::setMarkList() (./kdegraphics/kdvi/print.cpp:78)

void print::setMarkList( QStrList *_marklist )
{
	marklist = _marklist;
	if ( !marklist || marklist->isEmpty() )
		return;
	printMarked->setEnabled( TRUE );
	printMarked->setChecked( TRUE );
	printAll->setChecked( FALSE );		
	printRange->setChecked( FALSE );		
	printCurrent->setChecked( FALSE );		
}


kdvi'print::rangeToggled() (./kdegraphics/kdvi/print.cpp:90)

void print::rangeToggled( bool on )
{
	if ( on )
	{
		rangeFrom->setEnabled( TRUE );
		rangeTo->setEnabled( TRUE );
		rangeFrom->setFocus();
	}
	else
	{
		rangeFrom->setEnabled( FALSE );
		rangeTo->setEnabled( FALSE );
	}
}


kdvi'print::okPressed() (./kdegraphics/kdvi/print.cpp:217)

void print::okPressed()
{
	QString cmd;
	
	cmd = printMethod == "dvilj4" ? "dvilj4 -q -e-" : "dvips -q -f";

	if ( printReverse->isOn() )
		cmd += " -r";

	if ( ! printAll->isOn() )
	{
		DVIFile dvi;
		ofile = tmpnam(NULL);
		if ( printCurrent->isOn() )
			dvi.dviCopy( ifile, ofile, NULL, curpage, curpage );
		else if ( printMarked->isOn()  )
			dvi.dviCopy( ifile, ofile, marklist );
		else if ( printRange->isOn() )
		{
			int f = QString(rangeFrom->text()).toInt(),
			    t = QString(rangeTo->text()).toInt();
			if ( f < 1 || f > totalpages || t < f || t > totalpages )
			{
				KMessageBox::sorry( 0L, i18n("Invalid page range!"));
				return;
			}
			dvi.dviCopy( ifile, ofile, NULL, f, t );
		}
	}

	cmd += " " + ofile;

	if ( nup != 1 )
	{
		cmd += nupProgram == "mpage" ? " | mpage -" : " | psnup -";
		cmd +=  QString().setNum(nup);
		if ( colOrder->currentItem() == 1 )
			cmd += nupProgram == "mpage" ? " -a" : " -c";

	}

	if ( printdest == 1 )
		cmd += QString(" > ") + printFileName->text();
	else
	{
		cmd += QString(" | ") + spooler;
		if ( printdest > 1 )
			cmd += QString(" -P") + 
				printer->text(printer->currentItem());
	}

	if ( ifile != ofile )
		cmd += " ; rm " + ofile;

	cmd += " &";

	kDebugInfo( 4300,"About to run: %s", cmd.data());
	system( cmd );
	accept();
}


kdvi'print::nupPressed() (./kdegraphics/kdvi/print.cpp:278)

void print::nupPressed(int n)
{
	nup = 1 << n;
}


kdvi'print::printDestinationChanged() (./kdegraphics/kdvi/print.cpp:283)

void print::printDestinationChanged(int i)
{
	printdest = i;
	if ( printdest == 1 )
	{
		printFileName->setEnabled( TRUE );
		fileNameLabel->setEnabled( TRUE );
	}
	else
	{
		printFileName->setEnabled( FALSE );
		fileNameLabel->setEnabled( FALSE );
	}
}


kdvi'print::setupPressed() (./kdegraphics/kdvi/print.cpp:298)

void print::setupPressed()
{
	printSetup * ps = new printSetup( this, "ps" );
	ps->exec();
	delete ps;
	readConfig();
}


kdvi'print::cancelPressed() (./kdegraphics/kdvi/print.cpp:306)

void print::cancelPressed()
{
	reject();
}


kdvi'print::readConfig() (./kdegraphics/kdvi/print.cpp:311)

void print::readConfig()
{
	KConfig *config = kapp->config();

	printer->clear();
	printer->insertItem( i18n( "Default Printer" ) );
	printer->insertItem( i18n( "File" ) );
	config->setGroup( "Printing" );
	int n = config->readNumEntry( "PrinterCount" );
	if ( n > 0 )
		for ( int i = 1; i <= n; i++ )
		{
			QString p;
			p = config->readEntry( "Printer"+p.setNum( i ) );
			printer->insertItem( p );
		}
	nupProgram = config->readEntry( "NupProgram", "psnup" );
	printMethod = config->readEntry( "PrintMethod", "dvips" );
	nupCombo->setEnabled( printMethod == "dvips" );
	colOrder->setEnabled( printMethod == "dvips" );
	spooler = config->readEntry( "SpoolerCommand", "lpr" );
	
	config->setGroup( "kdvi" );
}