347 lines
9.7 KiB
Plaintext
347 lines
9.7 KiB
Plaintext
#include "DialogFontSize.h"
|
|
#include "ui_dialogfontsize.h"
|
|
#include <QDebug>
|
|
#include <QFileInfo>
|
|
#include <QDateTime>
|
|
#include <QString>
|
|
#include <QDir>
|
|
#include "myinclude.h"
|
|
|
|
DialogFontSize::DialogFontSize(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::DialogFontSize)
|
|
{
|
|
ui->setupUi(this);
|
|
this->setFixedSize(this->geometry().width(),this->geometry().height());
|
|
this->setWindowTitle(tr("选择字体大小"));
|
|
//connect(ui->fontComboBox,SIGNAL(currentIndexChanged(QString)),SLOT(ChangeFont(QString)));
|
|
font.setFamily("wenquanyi");
|
|
font.setPixelSize(12);
|
|
ui->lineEdit->setFont(font);
|
|
connect(ui->radioButton7HoriL,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
|
|
connect(ui->radioButton7HoriR,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
connect(ui->radioButton7Bangla,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
connect(ui->radioButton7PointNum,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
|
|
connect(ui->radioButton9HoriL,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
|
|
connect(ui->radioButton9HoriR,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
|
|
connect(ui->radioButton5Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
|
|
connect(ui->radioButton7Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
|
|
connect(ui->radioButton9Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
|
|
connect(ui->radioButton12Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
|
|
connect(ui->radioButton16Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
|
|
connect(ui->radioButton24Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
connect(ui->radioButton21PointNum,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
connect(ui->radioButton32Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
|
|
|
|
#ifdef VNLGXX
|
|
ui->checkBoxBold->hide();
|
|
ui->radioButton5Point->hide();
|
|
ui->radioButton7Point->hide();
|
|
ui->radioButton9Point->hide();
|
|
ui->radioButton12Point->hide();
|
|
ui->radioButton16Point->hide();
|
|
ui->radioButton24Point->hide();
|
|
#else
|
|
// ui->checkBoxBold->hide();
|
|
// ui->labelFont->hide();
|
|
// ui->fontComboBox->hide();
|
|
// ui->comboBoxFontSize->hide();
|
|
#endif
|
|
GetFileInfo();
|
|
|
|
#ifdef EnableBangla
|
|
ui->radioButton7Bangla->setEnabled(1);
|
|
#else
|
|
ui->radioButton7Bangla->setEnabled(0);
|
|
#endif
|
|
|
|
}
|
|
|
|
DialogFontSize::~DialogFontSize()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void DialogFontSize::Button7HoriL(bool ok){
|
|
int pixsize;
|
|
getValue(&pixsize);
|
|
|
|
|
|
//qDebug()<<ui->lineEdit->font().family()<<ui->lineEdit->font().pixelSize();
|
|
|
|
|
|
}
|
|
|
|
void DialogFontSize::Button7HoriR(bool ok){
|
|
int pixsize;
|
|
getValue(&pixsize);
|
|
|
|
//qDebug()<<ui->lineEdit->font().family()<<ui->lineEdit->font().pixelSize();
|
|
}
|
|
|
|
void DialogFontSize::ChangeFont(QString fontFamily){
|
|
|
|
font.setFamily(fontFamily);
|
|
|
|
//font.setPixelSize(pixelSize);
|
|
ui->lineEdit->setFont(font); // 设置预览字体
|
|
|
|
// if(fontFamily=="wenquanyi" ){
|
|
// ui->comboBoxFontSize->clear();
|
|
// ui->comboBoxFontSize->addItem("12");
|
|
// ui->comboBoxFontSize->addItem("16");
|
|
// //ui->comboBoxFontSize->addItem("12");
|
|
|
|
|
|
// }
|
|
// else if(fontFamily=="biyang"){
|
|
// ui->comboBoxFontSize->clear();
|
|
// ui->comboBoxFontSize->addItem("5");
|
|
// ui->comboBoxFontSize->addItem("7");
|
|
// ui->comboBoxFontSize->addItem("9");
|
|
// //ui->comboBoxFontSize->addItem("10");
|
|
|
|
// }
|
|
// else {
|
|
// ui->comboBoxFontSize->clear();
|
|
// ui->comboBoxFontSize->addItem("14");
|
|
// ui->comboBoxFontSize->addItem("16");
|
|
// ui->comboBoxFontSize->addItem("18");
|
|
// ui->comboBoxFontSize->addItem("20");
|
|
// ui->comboBoxFontSize->addItem("24");
|
|
// ui->comboBoxFontSize->addItem("28");
|
|
// ui->comboBoxFontSize->addItem("32");
|
|
// ui->comboBoxFontSize->addItem("36");
|
|
// }
|
|
|
|
}
|
|
|
|
void DialogFontSize::GetFileInfo(){
|
|
// /usr/local/Trolltech/QtEmbedded-4.6.3/include/QtCore/QObject:1: from /usr/local/Trolltech/QtEmbedded-4.6.3/include/QtCore/QObject:1,
|
|
QString fileName;
|
|
QString fileDate="";
|
|
QString fontPath=
|
|
#ifdef DEBUG_CNT
|
|
"/usr/local/Trolltech/QtEmbedded-4.6.3/lib/fonts/"
|
|
#else
|
|
"/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/"
|
|
#endif
|
|
;
|
|
QDir FontsFile("/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/");
|
|
if(FontsFile.exists("/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/"))//2451
|
|
{
|
|
fontPath = "/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/";
|
|
}
|
|
if(FontsFile.exists("/usr/lib/fonts/"))//am335x
|
|
{
|
|
fontPath = "/usr/lib/fonts/";
|
|
}
|
|
fileName.sprintf("_%d_50.qpf2",font.pixelSize());
|
|
|
|
|
|
QFileInfo fileInfo;
|
|
|
|
if(font.family()=="SerifL")
|
|
fileName = fontPath +"serifl_7_50.qpf2";
|
|
else if(font.family()=="SerifR")
|
|
fileName = fontPath +"serifr_7_50.qpf2";
|
|
else if(font.family()=="SerifL9")
|
|
fileName = fontPath +"serifl_9_50.qpf2";
|
|
else if(font.family()=="SerifR9")
|
|
fileName = fontPath +"serifr_9_50.qpf2";
|
|
else fileName = fontPath +font.family()+fileName;
|
|
fileInfo.setFile(fileName);
|
|
QDateTime dt= fileInfo.created();
|
|
//fileInfo.lastModified();
|
|
QString s = dt.toString("yyyy-MM-dd hh:mm:ss");
|
|
//qDebug()<<"GetFileInfo"<<font.family()<<fileName;
|
|
//qDebug()<< s<<fileInfo.baseName();
|
|
|
|
QFile fp;
|
|
fp.setFileName(fileName);
|
|
fp.open(QFile::ReadOnly);
|
|
QByteArray fdat =fp.read(fp.size());
|
|
unsigned int chsum = qChecksum(fdat,fp.size());
|
|
//ui->labFontInfo->setText(fileInfo.fileName()+" "+s+"");
|
|
ui->labFontInfo->setText( QString("%1").arg(chsum));
|
|
}
|
|
|
|
void DialogFontSize::getValue(int *size){
|
|
int pixelSize = 12;
|
|
bool ok;
|
|
font.setFamily("wenquanyi");
|
|
#ifdef VNLGXX
|
|
|
|
int n = ui->comboBoxFontSize->currentText().toInt(&ok,10);
|
|
if(ok) pixelSize = n;
|
|
|
|
#else
|
|
if(ui->radioButton5Point->isChecked()){
|
|
pixelSize = 5;
|
|
font.setFamily("biyang");
|
|
}
|
|
else if(ui->radioButton7Point->isChecked()){
|
|
pixelSize = 7;
|
|
font.setFamily("biyang");
|
|
}
|
|
else if(ui->radioButton9Point->isChecked()){
|
|
pixelSize = 9;
|
|
font.setFamily("biyang");
|
|
}
|
|
else if(ui->radioButton12Point->isChecked()){
|
|
pixelSize = 12;
|
|
|
|
}
|
|
else if(ui->radioButton16Point->isChecked()){
|
|
pixelSize = 16;
|
|
}
|
|
else if(ui->radioButton24Point->isChecked()){
|
|
pixelSize = 24;
|
|
}
|
|
else if(ui->radioButton7HoriL->isChecked()){
|
|
pixelSize = 5;
|
|
font.setFamily("SerifL");
|
|
|
|
}
|
|
else if(ui->radioButton7HoriR->isChecked()){
|
|
pixelSize = 5;
|
|
font.setFamily("SerifR");
|
|
}
|
|
else if(ui->radioButton9HoriL->isChecked()){
|
|
pixelSize = 7;
|
|
font.setFamily("SerifL9");
|
|
|
|
}
|
|
else if(ui->radioButton9HoriR->isChecked()){
|
|
pixelSize = 7;
|
|
font.setFamily("SerifR9");
|
|
}
|
|
else if(ui->radioButton7Bangla->isChecked()){
|
|
pixelSize = 7;
|
|
font.setFamily("bangla");
|
|
}
|
|
else if(ui->radioButton7PointNum->isChecked()){
|
|
pixelSize = 7;
|
|
font.setFamily("biyangF");
|
|
}
|
|
else if(ui->radioButton21PointNum->isChecked()){
|
|
pixelSize = 24;
|
|
font.setFamily("biyangF");
|
|
}
|
|
else if(ui->radioButton12NewRoman->isChecked()){
|
|
pixelSize = 12;
|
|
font.setFamily("Roman");
|
|
}
|
|
else if(ui->radioButton32Point->isChecked()){
|
|
pixelSize = 32;
|
|
}
|
|
|
|
/* radioButton7Hori
|
|
else if(ui->radioButton28Point->isChecked()){
|
|
pixelSize = 28;
|
|
}
|
|
else if(ui->radioButton32Point->isChecked()){
|
|
pixelSize = 32;
|
|
}*/
|
|
|
|
#endif
|
|
|
|
font.setPixelSize(pixelSize);
|
|
ui->lineEdit->setFont(font); // 设置预览字体
|
|
|
|
*size = pixelSize;
|
|
|
|
|
|
}
|
|
|
|
void DialogFontSize::setValue(int value){
|
|
|
|
#ifdef VNLGXX
|
|
//QString s;
|
|
//s.sprintf("%d",value);
|
|
//ui->comboBoxFontSize->setEditText(s);
|
|
//if(value<12) ui->fontComboBox->setCurrentIndex(0);
|
|
|
|
#else
|
|
if(value == 5 && font.family()=="biyang"){
|
|
ui->radioButton5Point->setChecked(true);
|
|
}
|
|
else if(value == 5 && font.family()=="SerifL"){
|
|
ui->radioButton7HoriL->setChecked(true);
|
|
|
|
}
|
|
else if(value == 5 && font.family()=="SerifR" ){
|
|
ui->radioButton7HoriR->setChecked(true);
|
|
|
|
}
|
|
else if(value == 7 && font.family()=="SerifL9"){
|
|
ui->radioButton9HoriL->setChecked(true);
|
|
|
|
}
|
|
else if(value == 7 && font.family()=="SerifR9"){
|
|
ui->radioButton9HoriR->setChecked(true);
|
|
|
|
}
|
|
else if(value == 7 && font.family()=="bangla"){
|
|
ui->radioButton7Bangla->setChecked(true);
|
|
}
|
|
else if(value == 7 && font.family()=="biyangF"){
|
|
ui->radioButton7PointNum->setChecked(true);
|
|
}
|
|
else if(value == 21 && font.family()=="biyangF"){
|
|
ui->radioButton21PointNum->setChecked(true);
|
|
}
|
|
else if(value == 12 && font.family()=="Roman"){
|
|
ui->radioButton12NewRoman->setChecked(true);
|
|
}
|
|
else if(value == 7){
|
|
ui->radioButton7Point->setChecked(true);
|
|
}
|
|
else if(value == 9){
|
|
ui->radioButton9Point->setChecked(true);
|
|
}
|
|
else if(value == 12){
|
|
ui->radioButton12Point->setChecked(true);
|
|
}
|
|
else if(value == 16){
|
|
ui->radioButton16Point->setChecked(true);
|
|
}
|
|
|
|
else if(value == 24){
|
|
ui->radioButton24Point->setChecked(true);
|
|
}
|
|
else if(value == 32){
|
|
ui->radioButton32Point->setChecked(true);
|
|
}
|
|
/*
|
|
else if(value == 28){
|
|
ui->radioButton28Point->setChecked(true);
|
|
}
|
|
else if(value == 32){
|
|
ui->radioButton32Point->setChecked(true);
|
|
}
|
|
*/
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
QString DialogFontSize::getFontFamily(){
|
|
|
|
return ui->lineEdit->font().family();
|
|
}
|
|
|
|
QFont DialogFontSize::getFont(){
|
|
|
|
return ui->lineEdit->font();
|
|
}
|
|
|
|
void DialogFontSize::on_pushButton_pressed()
|
|
{
|
|
GetFileInfo();// 显示字库校验码
|
|
}
|