#include "DialogFontSize.h" #include "ui_dialogfontsize.h" #include #include #include #include #include #include #include #include "myinclude.h" #include "Public.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("选择字体大小")); font.setFamily("WenQuanYi12"); QString langurageType = Public::ReadLanguageName(); if(langurageType != "English" && langurageType != "Chinese") font.setFamily("Yanglabeldot12"); font.setPixelSize(12); ui->lineEdit->setFont(font); connect(ui->radioButton7Bangla,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool))); connect(ui->radioButton7PointNum,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(); flagOfLeft = false; flagOfRight = false; #ifdef EnableBangla ui->radioButton7Bangla->setEnabled(1); #else ui->radioButton7Bangla->setEnabled(0); #endif //ui->checkBox_Left->setStyleSheet("QCheckBox { font-size: 24pt; }"); } DialogFontSize::~DialogFontSize() { delete ui; } void DialogFontSize::Button7HoriL(bool ok){ int pixsize; getValue(&pixsize); //qDebug()<lineEdit->font().family()<lineEdit->font().pixelSize(); qDebug() << "click L"; } void DialogFontSize::Button7HoriR(bool ok){ int pixsize; getValue(&pixsize); //qDebug()<lineEdit->font().family()<lineEdit->font().pixelSize(); qDebug() << "click R"; } 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(){ QString fileName; QString fileDate=""; QString fontPath="/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/"; 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"<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::getValue(int *size){ int pixelSize = 12; bool ok; font.setFamily("WenQuanYi12"); if(ui->radioButton5Point->isChecked()){ pixelSize = 5; if(flagOfLeft){ font.setFamily("WenQuanYiL5"); } else if(flagOfRight){ font.setFamily("WenQuanYiR5"); }else{ font.setFamily("WenQuanYi5"); } } else if(ui->radioButton7Point->isChecked()){ pixelSize = 7; if(flagOfLeft){ font.setFamily("WenQuanYiL7"); } else if(flagOfRight){ font.setFamily("WenQuanYiR7"); }else{ font.setFamily("WenQuanYi7"); } } else if(ui->radioButton9Point->isChecked()){ pixelSize = 9; if(flagOfLeft){ font.setFamily("DinkieL9"); } else if(flagOfRight){ font.setFamily("DinkieR9"); }else{ font.setFamily("Dinkie9"); } } else if(ui->radioButton12Point->isChecked()){ pixelSize = 12; if(flagOfLeft){ font.setFamily("WenQuanYiL12"); } else if(flagOfRight){ font.setFamily("WenQuanYiR12"); } else{ font.setFamily("WenQuanYi12"); } } else if(ui->radioButton16Point->isChecked()){ pixelSize = 16; if(flagOfLeft){ font.setFamily("WenQuanYiL16"); } else if(flagOfRight){ font.setFamily("WenQuanYiR16"); } else{ font.setFamily("WenQuanYi16"); } } else if(ui->radioButton24Point->isChecked()){ pixelSize = 24; if(flagOfLeft){ font.setFamily("WenQuanYiL24"); } else if(flagOfRight){ font.setFamily("WenQuanYiR24"); } else{ font.setFamily("WenQuanYi24"); } } 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; font.setFamily("WenQuanYi32"); if(flagOfLeft){ font.setFamily("WenQuanYiL32"); } else if(flagOfRight){ font.setFamily("WenQuanYiR32"); } else{ font.setFamily("WenQuanYi32"); } } 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();// 显示字库校验码 } void DialogFontSize::on_checkBox_Left_clicked() { auto b = ui->checkBox_Right->blockSignals(true); ui->checkBox_Right->setChecked(false); ui->checkBox_Right->blockSignals(b); flagOfRight = false; flagOfLeft = !flagOfLeft; int pixsize; getValue(&pixsize); } void DialogFontSize::on_checkBox_Right_clicked() { auto b = ui->checkBox_Left->blockSignals(true); ui->checkBox_Left->setChecked(false); ui->checkBox_Left->blockSignals(b); flagOfLeft = false; flagOfRight = !flagOfRight; int pixsize; getValue(&pixsize); }