Source Code (Use browser search to find items of interest.)
Class Index
kghostview'GoTo (./kdegraphics/kghostview/goto.h:11)
class GoTo : public QDialog {
Q_OBJECT
public:
GoTo( QWidget *parent, const char *name );
int page, part, pages, i, cumulative_pages;
int current_page;
int pages_in_part[10];
int num_parts;
QLineEdit* partLine;
QLineEdit* pageLine;
QLabel *pageLabel;
QLabel *partLabel;
QPushButton* ok;
QPushButton* cancel;
void init();
public slots:
void partChange();
void pageChange();
void setCurrentPage();
};
kghostview'GoTo::GoTo() (./kdegraphics/kghostview/goto.cpp:25)
GoTo::GoTo( QWidget *parent, const char *name )
: QDialog( parent, name, TRUE )
{
setFocusPolicy(QWidget::StrongFocus);
int border = 10;
QBoxLayout *topLayout = new QVBoxLayout( this, border );
topLayout->addStretch( 10 );
QGridLayout *grid = new QGridLayout( 5, 3, 5 );
topLayout->addLayout( grid );
grid->addRowSpacing(2,5);
grid->setColStretch(0,10);
grid->setColStretch(1,100);
grid->setColStretch(2,10);
partLine = new QLineEdit( this );
partLine->setFocus();
partLine->setFixedHeight( partLine->sizeHint().height() );
partLine->setMinimumWidth(partLine->sizeHint().width());
// connect(partLine, SIGNAL(returnPressed()), this, SLOT(partChange()) );
connect(partLine, SIGNAL(returnPressed()), this, SLOT(setCurrentPage()));
grid->addWidget( partLine, 1, 1 );
QLabel* tmpQLabel;
tmpQLabel = new QLabel( partLine, i18n("&Section"), this );
tmpQLabel->setAlignment( AlignRight | AlignVCenter | ShowPrefix );
tmpQLabel->setMinimumSize( tmpQLabel->sizeHint() );
grid->addWidget( tmpQLabel, 1, 0 );
partLabel = new QLabel( i18n("of 88888"), this );
grid->addWidget( partLabel, 1, 2 );
pageLine = new QLineEdit( this );
pageLine->setFixedHeight( partLine->sizeHint().height() );
pageLine->setMinimumWidth(pageLine->sizeHint().width());
// connect(pageLine, SIGNAL(returnPressed()), this, SLOT(pageChange()) );
connect(pageLine, SIGNAL(returnPressed()), this, SLOT(setCurrentPage()));
grid->addWidget( pageLine, 3, 1 );
tmpQLabel = new QLabel( pageLine, i18n("&Page"), this );
tmpQLabel->setAlignment( AlignRight | AlignVCenter | ShowPrefix );
tmpQLabel->setMinimumSize( tmpQLabel->sizeHint() );
grid->addWidget( tmpQLabel, 3, 0 );
pageLabel = new QLabel( i18n("of 88888"), this );
grid->addWidget( pageLabel, 3, 2 );
QFrame* tmpQFrame;
tmpQFrame = new QFrame( this );
tmpQFrame->setFrameStyle( QFrame::HLine | QFrame::Sunken );
tmpQFrame->setMinimumHeight( tmpQFrame->sizeHint().height() );
topLayout->addWidget( tmpQFrame );
// CREATE BUTTONS
KButtonBox *bbox = new KButtonBox( this );
bbox->addStretch(1);
ok = bbox->addButton( i18n("&OK") );
connect( ok, SIGNAL(clicked()), SLOT(setCurrentPage()) );
cancel = bbox->addButton( i18n("&Cancel") );
connect( cancel, SIGNAL(clicked()), SLOT(reject()) );
bbox->layout();
topLayout->addWidget( bbox );
topLayout->activate();
}
kghostview'GoTo::init() (./kdegraphics/kghostview/goto.cpp:106)
void GoTo::init()
{
QString temp;
cumulative_pages=0;
for(i=0;i<10;i++) {
cumulative_pages+=pages_in_part[i];
if (cumulative_pages>current_page) break;
}
cumulative_pages-=pages_in_part[i];
part=i;
page=current_page-cumulative_pages;
pages=pages_in_part[i];
temp.setNum(part+1);
partLine->setText( temp );
temp = i18n("of %1").arg(num_parts+1);
partLabel->setText( temp );
partLabel->setMinimumSize( partLabel->sizeHint() );
temp.setNum(page+1);
pageLine->setText( temp );
temp = i18n("of %1").arg(pages);
pageLabel->setText( temp );
pageLabel->setMinimumSize( pageLabel->sizeHint() );
}
kghostview'GoTo::partChange() (./kdegraphics/kghostview/goto.cpp:135)
void GoTo::partChange()
{
int new_part;
QString temp = partLine->text();
new_part=atoi(temp.data());
if(!(new_part<1 || new_part>num_parts+1) && (new_part-1) !=part) {
part=new_part-1;
page=0;
pages=pages_in_part[part];
temp.setNum(page+1);
pageLine->setText( temp );
temp = i18n("of %1").arg(pages);
pageLabel->setText( temp );
} else {
temp.setNum(part+1);
partLine->setText( temp );
}
}
kghostview'GoTo::pageChange() (./kdegraphics/kghostview/goto.cpp:156)
void GoTo::pageChange()
{
int new_page;
QString temp = pageLine->text();
new_page=atoi(temp.data());
if(new_page<1 || new_page>pages_in_part[part]) {
temp.setNum(page+1);
pageLine->setText( temp );
} else
page=new_page;
}
kghostview'GoTo::setCurrentPage() (./kdegraphics/kghostview/goto.cpp:170)
void GoTo::setCurrentPage()
{
pageChange();
partChange();
cumulative_pages=0;
for(i=0;i<part;i++) {
cumulative_pages+=pages_in_part[i];
}
current_page=page-1+cumulative_pages;
accept();
}