#include "dlgmutilanguage.h" #include "ui_dlgmutilanguage.h" #include "InputMethod.h" #include #include DlgMutiLanguage::DlgMutiLanguage(QWidget *parent) : QDialog(parent), ui(new Ui::DlgMutiLanguage) { ui->setupUi(this); // ui->listWidget->hide(); connect(ui->buttonBox,SIGNAL(accepted()),this,SLOT(SetNewLanguage())); LangIndex=INPUT_METHOD_TYPE_CHINESE; } DlgMutiLanguage::~DlgMutiLanguage() { delete ui; } void DlgMutiLanguage::setCurrentLanguage(){ if(LangIndex==INPUT_METHOD_TYPE_ENGLISH) ui->radioButton_2->setChecked(true); else if(LangIndex==INPUT_METHOD_TYPE_CHINESE) ui->radioButton->setChecked(true); else if(LangIndex==INPUT_METHOD_TYPE_VIETNAM) ui->radioButton_3->setChecked(true); //else if(LangIndex==INPUT_METHOD_TYPE_RUSSIAN) ui->radioButton_4->setChecked(true); //else if(LangIndex==INPUT_METHOD_TYPE_JAPANESE) ui->radioButton_5->setChecked(true); //else if(LangIndex==INPUT_METHOD_TYPE_KOREAN) ui->radioButton_6->setChecked(true); else ui->radioButton->setChecked(true); } int DlgMutiLanguage::getCurrentLanguage(){ // LangIndex = INPUT_METHOD_TYPE_CHINESE; // if(ui->radioButton_2->isChecked()) { // LangIndex = INPUT_METHOD_TYPE_ENGLISH; // QMessageBox::information(this,tr("提示"),tr("重启后切换到英文界面")); // buf.append("English\r\n"); // buf.append("WINPY_utf8.txt\r\n"); // } // else if(ui->radioButton_3->isChecked()) { // LangIndex = INPUT_METHOD_TYPE_VIETNAM; // QMessageBox::information(this,tr("提示"),tr("重启后切换到越南语界面")); // buf.append("Vietnamese\r\n"); // buf.append("YN_utf8.txt\r\n"); // } // /*else if(ui->radioButton->isChecked()) { // } // else if(ui->radioButton->isChecked()) { // } // else if(ui->radioButton->isChecked()) { // }*/ // else { // QMessageBox::information(this,tr("提示"),tr("重启后切换到中文界面")); // buf.append("Chinese\r\n"); // buf.append("WINPY_utf8.txt\r\n"); // } return LangIndex; } void DlgMutiLanguage::SetNewLanguage(){ LangIndex = INPUT_METHOD_TYPE_CHINESE; QFile file("/home/plg/UseEn"); // QMessageBox::StandardButton ret; // ret = QMessageBox::information(this, tr("警告"), // tr("确定要切换显示语言吗?\r\n(重启才能生效)"), // QMessageBox::Ok | QMessageBox::Cancel); // if (ret != QMessageBox::Ok){ // return; // } QByteArray buf; buf.clear(); if(file.open(QIODevice::ReadWrite)) {//怀疑是QIODevice::Truncate 引起参数错误,去掉试试看 if(ui->radioButton_2->isChecked()) { LangIndex = INPUT_METHOD_TYPE_ENGLISH; buf.append("English\r\n"); buf.append("WINPY_utf8.txt\r\n"); } else if(ui->radioButton_3->isChecked()) { LangIndex = INPUT_METHOD_TYPE_VIETNAM; buf.append("Turkish\r\n"); buf.append("WINPY_utf8.txt\r\n"); } else if(ui->radioButton_4->isChecked()) { LangIndex = INPUT_METHOD_TYPE_SPANISH; buf.append("Spanish\r\n"); buf.append("WINPY_utf8.txt\r\n"); } else if(ui->radioButton_5->isChecked()) { LangIndex = INPUT_METHOD_TYPE_THAI; buf.append("Thai\r\n"); buf.append("WINPY_utf8.txt\r\n"); } else if(ui->radioButton_6->isChecked()) { LangIndex = INPUT_METHOD_TYPE_VIETNAM; buf.append("Vietnamese\r\n"); buf.append("WINPY_utf8.txt\r\n"); } else if(ui->radioButton_7->isChecked()) { LangIndex = INPUT_METHOD_TYPE_Farsi; buf.append("Farsi\r\n"); buf.append("WINPY_utf8.txt\r\n"); } /*else if(ui->radioButton->isChecked()) { } else if(ui->radioButton->isChecked()) { } else if(ui->radioButton->isChecked()) { }*/ else { //QMessageBox::information(this,tr("提示"),tr("重启后切换到中文界面")); buf.append("Chinese\r\n"); buf.append("WINPY_utf8.txt\r\n"); } if(buf.contains("Chinese\r\n")) system("touch /home/plg/chinese"); else system("rm /home/plg/chinese"); file.write(buf); //#if defined(__CONVERTERBOARD__)|| defined(__VX__) #if 1 fsync(file.handle()); #endif file.close(); } }