Source Code (Use browser search to find items of interest.)
Class Index
kdvi'KDVIMiniWidget (./kdegraphics/kdvi/kdvi_miniwidget.h:33)
class KDVIMiniWidget : public QSplitter
{
Q_OBJECT
public:
KDVIMiniWidget(char *fname=0, QWidget *parent=0,const char *name=0 );
~KDVIMiniWidget();
void openFile(QString name);
dviWindow* window(){return(dviwin);}
public slots:
void filePrint();
void fileChanged();
void saveProperties(KConfig*);
void readProperties(KConfig*);
protected:
void resizeEvent( QResizeEvent* e );
bool eventFilter ( QObject *, QEvent *);
void closeEvent ( QCloseEvent * e );
private slots:
void viewFitPage();
void viewFitPageWidth();
void pageGoto();
void toggleMakePK();
void toggleShowPS();
// void helpAbout();
// void helpAboutQt();
void setPage(int p=0);
void pageActivated(const QString &);
void selectLarge();
void selectSmall();
void selectShrink(QPoint);
void selectShrink(int);
void updateMarkList();
// void selectResolution(const char *s);
signals:
void statusMessage(const QString &s);
private:
void message( const QString &s);
void makeToolBar2(QWidget *parent);
void applyPreferences();
void applyMakePK();
void applyShowPS();
void applyShowMenubar();
void applyShowButtons();
void applyShowScrollbars();
void applyShowStatusbar();
void applyVertToolbar();
QBoxLayout * vbl;
QBoxLayout * hbl;
QGridLayout * gl;
void readConfig();
dviWindow * dviwin;
QFrame * f;
QFrame * f2;
QLabel * msg;
QLabel * statusName;
QString dviName;
int largeShrink;
int smallShrink;
int basedpi;
QString mfmode, paper;
int makepk;
KConfig * config;
QPopupMenu * ssmenu;
ScrollBox * sbox;
int showPS;
MarkList * marklist;
QFrame * toolBar2;
const char * sndr;
int pannerValue;
};
kdvi'KDVIMiniWidget::KDVIMiniWidget() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:44)
KDVIMiniWidget::KDVIMiniWidget( char *fname, QWidget *parent, const char *name )
: QSplitter(QSplitter::Horizontal, parent, name)
{
msg = NULL;
hbl = NULL;
ssmenu = NULL;
readConfig();
// Create a dvi window
dviwin = new dviWindow( basedpi, mfmode, paper, makepk,
this, "dviWindow" );
connect( dviwin, SIGNAL(currentPage(int)), SLOT(setPage(int)) );
connect( dviwin, SIGNAL(fileChanged()), SLOT(fileChanged()) );
makeToolBar2(this);
moveToLast(dviwin);
QValueList<int> size;
size << 10 << 90;
setSizes(size);
// Read config options
applyPreferences();
selectSmall();
dviwin->installEventFilter( this );
openFile(QString(fname));
}
kdvi'KDVIMiniWidget::~KDVIMiniWidget() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:77)
KDVIMiniWidget::~KDVIMiniWidget()
{
}
kdvi'KDVIMiniWidget::makeToolBar2() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:81)
void KDVIMiniWidget::makeToolBar2(QWidget *parent)
{
QPixmap pm;
toolBar2 = new QFrame( parent );
QBoxLayout * gl = new QBoxLayout( toolBar2, QBoxLayout::Down );
sbox = new ScrollBox( toolBar2 );
connect( sbox, SIGNAL(valueChanged(QPoint)),
dviwin, SLOT(scroll(QPoint)) );
connect( sbox, SIGNAL(button3Pressed()), dviwin, SLOT(nextPage()) );
connect( sbox, SIGNAL(button2Pressed()), dviwin, SLOT(prevPage()) );
connect( dviwin, SIGNAL(pageSizeChanged( QSize )),
sbox, SLOT(setPageSize( QSize )) );
connect( dviwin, SIGNAL(viewSizeChanged( QSize )),
sbox, SLOT(setViewSize( QSize )) );
connect( dviwin, SIGNAL(currentPosChanged( QPoint )),
sbox, SLOT(setViewPos( QPoint )) );
sbox->setFixedSize(70,80);
gl->addWidget( sbox );
// Create a MarkList
marklist = new MarkList( toolBar2 );
connect( marklist, SIGNAL(selected(const QString &)),
SLOT(pageActivated(const QString &)) );
gl->addWidget( marklist );
gl->activate();
sbox->setPageSize( dviwin->pageSize() );
}
kdvi'KDVIMiniWidget::updateMarkList() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:114)
void KDVIMiniWidget::updateMarkList()
{
QString s;
marklist->setAutoUpdate( FALSE );
marklist->clear();
for (int i = dviwin->totalPages(); i>0; i--)
{
s.sprintf( "%4d", i );
marklist->insertItem( s, 0 );
}
marklist->select(0);
marklist->setAutoUpdate( TRUE );
marklist->update();
}
// This avoids seg fault at destructor:
kdvi'KDVIMiniWidget::closeEvent() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:132)
void KDVIMiniWidget::closeEvent( QCloseEvent *e )
{
QWidget::closeEvent(e);
e->accept();
}
kdvi'KDVIMiniWidget::resizeEvent() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:139)
void KDVIMiniWidget::resizeEvent( QResizeEvent* e )
{
QSplitter::resizeEvent( e );
config->setGroup( "kdvi" );
config->writeEntry( "Width", width() );
config->writeEntry( "Height", height() );
}
kdvi'KDVIMiniWidget::eventFilter() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:148)
bool KDVIMiniWidget::eventFilter( QObject *obj , QEvent *e )
{
if ( obj != dviwin || e->type() != QEvent::MouseButtonPress )
return FALSE;
QMouseEvent *me = (QMouseEvent*)e;
if ( me->button() != RightButton )
return FALSE;
return TRUE;
}
kdvi'KDVIMiniWidget::openFile() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:159)
void KDVIMiniWidget::openFile( QString name)
{
if ( name.isEmpty() )
return;
if (!QFileInfo(name).isReadable())
{
KMessageBox::sorry(this, i18n("Can't read file:\n") + name);
return;
}
QDir::setCurrent( QFileInfo( name ).dirPath() );
dviName = name.copy();
message( i18n("Opening ") + name + " ...");
dviwin->setFile( name );
dviwin->repaint();
setPage();
updateMarkList();
message( i18n("Opened ") + name );
}
kdvi'KDVIMiniWidget::filePrint() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:180)
void KDVIMiniWidget::filePrint()
{
if (!dviName)
return;
print * printdlg = new print( this, "printdlg" );
message( i18n("Print dialog is open") );
printdlg->setFile( dviName );
printdlg->setCurrentPage( dviwin->page(), dviwin->totalPages() );
printdlg->setMarkList( marklist->markList() );
printdlg->exec();
message( "" );
delete printdlg;
}
kdvi'KDVIMiniWidget::viewFitPage() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:196)
void KDVIMiniWidget::viewFitPage()
{
resize( rect().size() + dviwin->pageSize() - dviwin->viewSize() );
resize( rect().size() + dviwin->pageSize() - dviwin->viewSize() );
resize( rect().size() + dviwin->pageSize() - dviwin->viewSize() );
message( i18n("View size fits page") );
}
kdvi'KDVIMiniWidget::viewFitPageWidth() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:205)
void KDVIMiniWidget::viewFitPageWidth()
{
QSize s = rect().size();
resize( s.width() + dviwin->pageSize().width() - dviwin->viewSize().width(),
s.height() );
message( i18n("View width fits page") );
}
kdvi'KDVIMiniWidget::pageGoto() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:215)
void KDVIMiniWidget::pageGoto()
{
PageDialog dlg;
connect( &dlg, SIGNAL(textEntered(const QString &)), SLOT(pageActivated(const QString &)) );
dlg.show();
}
kdvi'KDVIMiniWidget::toggleMakePK() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:222)
void KDVIMiniWidget::toggleMakePK()
{
makepk = !makepk;
applyMakePK();
message( makepk ? i18n("Missing PK-fonts will be generated"):
i18n("Missing PK-fonts will be logged to 'missfont.log'") );
}
kdvi'KDVIMiniWidget::applyMakePK() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:230)
void KDVIMiniWidget::applyMakePK()
{
if ( makepk == dviwin->makePK() )
return;
dviwin->setMakePK( makepk );
config->writeEntry( "MakePK", makepk );
}
kdvi'KDVIMiniWidget::toggleShowPS() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:238)
void KDVIMiniWidget::toggleShowPS()
{
showPS = !showPS;
applyShowPS();
message( showPS ? i18n("Postcsript specials are rendered") :
i18n("Postscript specials are not rendered") );
}
kdvi'KDVIMiniWidget::applyShowPS() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:246)
void KDVIMiniWidget::applyShowPS()
{
if ( showPS == dviwin->showPS() )
return;
dviwin->setShowPS( showPS );
config->writeEntry( "ShowPS", showPS );
}
kdvi'KDVIMiniWidget::pageActivated() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:256)
void KDVIMiniWidget::pageActivated( const QString & text)
{
int pg = text.toInt();
if (dviwin->page() != pg)
dviwin->gotoPage( pg );
dviwin->setFocus();
}
kdvi'KDVIMiniWidget::selectShrink() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:265)
void KDVIMiniWidget::selectShrink( QPoint p )
{
sndr = sender()->name();
if (!ssmenu)
{
ssmenu = new QPopupMenu;
ssmenu->setMouseTracking( TRUE );
connect( ssmenu, SIGNAL(activated(int)),
SLOT(selectShrink(int)) );
QString s;
for ( int i=1; i<=basedpi/20; i++ )
ssmenu->insertItem( s.setNum( i ) );
}
ssmenu->popup( p - QPoint( 10, 10 ),
(QString(sndr) == "largeButton" ? largeShrink : smallShrink) - 1 );
}
kdvi'KDVIMiniWidget::selectShrink() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:282)
void KDVIMiniWidget::selectShrink( int id )
{
if ( QString(sndr) == "largeButton" )
{
dviwin->setShrink( id + 1 );
largeShrink = dviwin->shrink();
config->writeEntry( "LargeShrink", largeShrink );
message(i18n("Large text button set to shrink factor ") +
QString().setNum(largeShrink) );
}
else
{
dviwin->setShrink( id + 1 );
smallShrink = dviwin->shrink();
config->writeEntry( "SmallShrink", smallShrink );
message(i18n("Small text button set to shrink factor ") +
QString().setNum(smallShrink) );
}
}
kdvi'KDVIMiniWidget::selectLarge() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:302)
void KDVIMiniWidget::selectLarge()
{
dviwin->setShrink(largeShrink);
}
kdvi'KDVIMiniWidget::selectSmall() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:307)
void KDVIMiniWidget::selectSmall()
{
dviwin->setShrink(smallShrink);
}
kdvi'KDVIMiniWidget::fileChanged() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:312)
void KDVIMiniWidget::fileChanged()
{
message( i18n("File reloaded.") );
if ( dviwin->totalPages() != marklist->count() )
updateMarkList();
setPage();
}
kdvi'KDVIMiniWidget::setPage() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:320)
void KDVIMiniWidget::setPage(int pg)
{
if ( marklist )
marklist->select( pg - 1 );
}
kdvi'KDVIMiniWidget::message() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:327)
void KDVIMiniWidget::message( const QString &s )
{
emit statusMessage(s);
}
kdvi'KDVIMiniWidget::readConfig() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:333)
void KDVIMiniWidget::readConfig()
{
QString s;
config = KDVIFactory::instance()->config();
config->setGroup( "kdvi" );
pannerValue = config->readNumEntry( "Separator" );
if (!pannerValue)
config->writeEntry( "Separator", pannerValue = 80 );
showPS = config->readNumEntry( "ShowPS" );
smallShrink = config->readNumEntry( "SmallShrink" );
if (!smallShrink)
config->writeEntry( "SmallShrink", smallShrink = 7 );
largeShrink = config->readNumEntry( "LargeShrink" );
if (!largeShrink)
config->writeEntry( "LargeShrink", largeShrink = 3 );
int width = config->readNumEntry( "Width" );
if (!width)
width = 500;
int height = config->readNumEntry( "Height" );
if (!height)
height = 450;
resize( width, height );
}
kdvi'KDVIMiniWidget::saveProperties() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:363)
void KDVIMiniWidget::saveProperties(KConfig *config )
{
config->writeEntry( "FileName", dviName );
config->writeEntry( "Page", dviwin->page() );
config->writeEntry( "Shrink", dviwin->shrink() );
config->writeEntry( "Pos.x", dviwin->currentPos().x() );
config->writeEntry( "Pos.y", dviwin->currentPos().y() );
}
kdvi'KDVIMiniWidget::readProperties() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:373)
void KDVIMiniWidget::readProperties(KConfig *config)
{
QString file = config->readEntry("FileName");
if ( file.isNull() )
return;
openFile( file );
int page = config->readNumEntry( "Page", 1 );
dviwin->gotoPage( page );
setPage(page);
dviwin->setShrink( config->readNumEntry( "Shrink" ) );
dviwin->scroll( QPoint( config->readNumEntry( "Pos.x" ),
config->readNumEntry( "Pos.y" ) ) );
}
kdvi'KDVIMiniWidget::applyPreferences() (./kdegraphics/kdvi/kdvi_miniwidget.cpp:387)
void KDVIMiniWidget::applyPreferences()
{
QString s;
config->setGroup( "kdvi" );
s = config->readEntry( "FontPath" );
if ( !s.isEmpty() && s != dviwin->fontPath() )
dviwin->setFontPath( s );
basedpi = config->readNumEntry( "BaseResolution" );
if ( basedpi <= 0 )
config->writeEntry( "BaseResolution", basedpi = 300 );
if ( basedpi != dviwin->resolution() )
dviwin->setResolution( basedpi );
mfmode = config->readEntry( "MetafontMode" );
if ( mfmode.isNull() )
config->writeEntry( "MetafontMode", mfmode = "/" );
if ( mfmode != dviwin->metafontMode() )
dviwin->setMetafontMode( mfmode );
paper = config->readEntry( "Paper" );
if ( paper.isNull() )
config->writeEntry( "Paper", paper = "A4" );
if ( paper != dviwin->paper() )
dviwin->setPaper( paper );
s = config->readEntry( "Gamma" );
if ( !s.isEmpty() && s.toFloat() != dviwin->gamma() )
dviwin->setGamma( s.toFloat() );
makepk = config->readNumEntry( "MakePK" );
applyMakePK();
showPS = config->readNumEntry( "ShowPS" );
applyShowPS();
dviwin->setAntiAlias( config->readNumEntry( "PS Anti Alias", 1 ) );
smallShrink = config->readNumEntry( "SmallShrink" );
if (!smallShrink) smallShrink = 6;
largeShrink = config->readNumEntry( "LargeShrink" );
if (!largeShrink) largeShrink = 2;
message(i18n("Preferences applied"));
}