⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gotopage.cpp

📁 爱可视605看PDF程式源代码, 基于APDF
💻 CPP
字号:
#include "gotopage.h"#include "general/slider.h"#include "general/style.h"#include <qapplication.h>#include <qpainter.h>#include <qbitmap.h>#include <qgfx_qws.h>#include <qlayout.h>#include <archos/atr.h>#include <archos/screen.h>using namespace archos;GotoPage::GotoPage(int numPages, int page, int cancelSetZoom, QWidget *parent, const char *name) :	QWidget( parent, name,		QWidget::WStyle_Customize | QWidget::WStyle_NoBorder | WRepaintNoErase | QWidget::WStyle_StaysOnTop)	, m_numPages(numPages)	, m_page(page){	int dw = qt_screen->width();	int dh = qt_screen->height();	int x1 = 10;	int x2 = dw - 20;		QString path = AStyle::iconpath + Screen::prefix();	m_slider = new Slider(x2 - x1, this);	QVBoxLayout *v1 = new QVBoxLayout(this);	v1->setMargin(5);	v1->addWidget(m_slider);	m_slider->setFocus();	int optionalHeight = 0;	if ( cancelSetZoom ) {			QFont font = qApp->font();		if (Screen::mode() == wqvga || Screen::mode() == qvga) {			font.setPointSize(16);		}		else if ( Screen::mode() == wvga ) {			font.setPointSize(22);		}		else {  // tv			font.setPointSize(18);		}		setFont(font);	}	move(x1, dh / 2 - m_slider->sizeHint().height() / 2);	setGeometry(x1, dh / 2 - m_slider->sizeHint().height() / 2, x2, m_slider->sizeHint().height() + optionalHeight + 10 );	connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(updateValue(int)));}GotoPage::~GotoPage(){	delete m_slider;}void GotoPage::gotoPageProxy(int x){	emit gotoPage(x - 1);}void GotoPage::setValues(int num, int current){	m_numPages = num;	m_page = current;	m_slider->setValues(m_page, m_numPages);}void GotoPage::paintEvent(QPaintEvent *){	QPainter p(this);	AStyle::get()->drawPanel(&p, rect());}void GotoPage::aborted(void){	hide();	emit closed();}void GotoPage::acked(void){	m_page = m_slider->getValue() - 1;	emit gotoPage(m_page);	emit closed();	hide();}void GotoPage::keyReleaseEvent(QKeyEvent *e){	switch(e->key()) {		case Key_Return:			acked();			break;		case Key_F2:			aborted();			break;		default:			break;	}}void GotoPage::showEvent(QShowEvent*){	updateMask();}void GotoPage::updateMask(){	QBitmap mask(size());	{	QPainter p(&mask);		AStyle::get()->drawPanel(&p, rect());	}	setMask(mask);	}void GotoPage::inc(){	if (m_page + 1 <= m_numPages) {		m_page++;	}	update();}bool GotoPage::eventFilter(QObject *target, QEvent *event){	if ( event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease ) {		QKeyEvent *ke = (QKeyEvent*)event;		if ( ke->key() == Key_Left || ke->key() == Key_Right ) {			return QApplication::sendEvent(m_slider, event);		}	}	return QWidget::eventFilter(target, event);}void GotoPage::dec(){	if (m_page - 1 > 0) {		m_page--;	}	update();}int GotoPage::selectedPage(){	return m_page;}void GotoPage::updateValue(int v){	m_page = v;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -