mirror of
				https://github.com/YACReader/yacreader
				synced 2025-11-03 16:54:39 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "goto_dialog.h"
 | 
						|
 | 
						|
#include <QHBoxLayout>
 | 
						|
#include <QVBoxLayout>
 | 
						|
#include <QIntValidator>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
GoToDialog::GoToDialog(QWidget * parent)
 | 
						|
:QDialog(parent)
 | 
						|
{
 | 
						|
	setupUI();
 | 
						|
}
 | 
						|
 | 
						|
void GoToDialog::setupUI()
 | 
						|
{
 | 
						|
	textLabel = new QLabel(tr("Page : "));
 | 
						|
	pageNumber = new QLineEdit;
 | 
						|
	v = new QIntValidator(this);
 | 
						|
	v->setBottom(1);
 | 
						|
	pageNumber->setValidator(v);
 | 
						|
	textLabel->setBuddy(pageNumber);
 | 
						|
	textLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
 | 
						|
 | 
						|
	accept = new QPushButton(tr("Go To"));
 | 
						|
	connect(accept,SIGNAL(clicked()),this,SLOT(goTo()));
 | 
						|
	cancel = new QPushButton(tr("Cancel"));
 | 
						|
	connect(cancel,SIGNAL(clicked()),this,SLOT(close()));
 | 
						|
 | 
						|
	QHBoxLayout *topLayout = new QHBoxLayout;
 | 
						|
 | 
						|
	topLayout->addWidget(textLabel);
 | 
						|
	topLayout->addWidget(pageNumber);
 | 
						|
 | 
						|
	QHBoxLayout *bottomLayout = new QHBoxLayout;
 | 
						|
	bottomLayout->addStretch();
 | 
						|
	bottomLayout->addWidget(accept);
 | 
						|
	bottomLayout->addWidget(cancel);
 | 
						|
 | 
						|
	QVBoxLayout *mainLayout = new QVBoxLayout;
 | 
						|
	mainLayout->addWidget(numPagesLabel = new QLabel(tr("Total pages : ")));
 | 
						|
	mainLayout->addLayout(topLayout);
 | 
						|
	mainLayout->addStretch();
 | 
						|
	mainLayout->addLayout(bottomLayout);
 | 
						|
 | 
						|
	QHBoxLayout *imgMainLayout = new QHBoxLayout;
 | 
						|
	QLabel * imgLabel = new QLabel();
 | 
						|
	QPixmap p(":/images/goto.png");
 | 
						|
	imgLabel->setPixmap(p);
 | 
						|
	imgMainLayout->addWidget(imgLabel);
 | 
						|
	imgMainLayout->addLayout(mainLayout);
 | 
						|
 | 
						|
	setLayout(imgMainLayout);
 | 
						|
 | 
						|
	setWindowTitle(tr("Go to..."));
 | 
						|
	setModal (true);
 | 
						|
 | 
						|
	pageNumber->setFocusPolicy(Qt::StrongFocus);
 | 
						|
	pageNumber->setFocus();
 | 
						|
}
 | 
						|
 | 
						|
void GoToDialog::goTo()
 | 
						|
{
 | 
						|
	unsigned int page = pageNumber->text().toInt();
 | 
						|
	pageNumber->clear();
 | 
						|
 | 
						|
	if(page >= 1)
 | 
						|
		emit(goToPage(page-1));	
 | 
						|
 | 
						|
	close();
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
void GoToDialog::setNumPages(unsigned int numPages)
 | 
						|
{
 | 
						|
	numPagesLabel->setText(tr("Total pages : ")+QString::number(numPages));
 | 
						|
	v->setTop(numPages);
 | 
						|
}
 | 
						|
 | 
						|
void GoToDialog::open()
 | 
						|
{
 | 
						|
	pageNumber->setFocus();
 | 
						|
    QDialog::open();
 | 
						|
}
 |