亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? conversion.cpp

?? 嵌入式Qt下的一個計算器源碼
?? CPP
字號:
/******************************************************************************** Copyright (C) 2000-2006 TROLLTECH ASA. All rights reserved.**** This file is part of the Phone Edition of the Qtopia Toolkit.**** Licensees holding a valid license agreement from Trolltech or any of its** authorized distributors may use this file in accordance with** the License Agreement provided with the Licensed Software.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Trolltech's Commercial License Agreements.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.********** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifdef ENABLE_CONVERSION#include "conversion.h"#include "../doubleinstruction.h"#include <qtopia/qtopiaapplication.h>#include <qsettings.h>#include <qlayout.h>#include <qfile.h>#include <qdir.h>#include <QDesktopWidget>double UnitConversionInstruction::from = 0;double UnitConversionInstruction::to = 0;char UnitConversionInstruction::tempFrom = 'n';char UnitConversionInstruction::tempTo = 'n';FormConversion::FormConversion(QWidget *parent) : DecimalInputWidget(parent), currentButton(0){    systemEngine->registerInstruction(new UnitConversionInstruction());    setObjectName( "ConversionForm" ); //no tr        InputWidgetLayout = new QGridLayout(this);    InputWidgetLayout->setSpacing( 3 );    InputWidgetLayout->setMargin( 0 );        init(0, 0);}void FormConversion::init(int fromRow, int fromCol) {    QFont big(font());    big.setWeight(QFont::Bold);    typeSelector = new QComboBox(this);    typeSelector->setSizePolicy(sizePolicy());    InputWidgetLayout->addWidget(typeSelector, fromRow, fromCol, 1, 2 );    PBC = new QPushButton(this);    PBC->setText(tr("CE/C"));    PBC->setFont(big);    PBC->setSizePolicy(sizePolicy());    InputWidgetLayout->addWidget(PBC, fromRow, fromCol+2, 1, 2);    QRect screenRect = QtopiaApplication::desktop()->availableGeometry();    bool portrait = screenRect.width() < screenRect.height();             modeList = new QList<conversionMode*>();    conversionMode *nextMode;    QWidget *w;    conversionData *nextData;    conversionStack = new QStackedWidget(this);    conversionStack->setSizePolicy(sizePolicy());    // temperature conversions are builtin    nextMode = new conversionMode;    nextMode->name = QString( tr("Temperature") );    nextMode->dataList = new QList<conversionData*>();    typeSelector->addItem(nextMode->name);    w = new QWidget();    QBoxLayout *gl2;    if (portrait)         gl2 = new QHBoxLayout(w);    else        gl2 = new QVBoxLayout(w);    gl2->setSpacing( 3 );    gl2->setMargin( 0 );    //InputWidgetLayout->addLayout(gl2, fromRow, fromCol, 1, 4);    conversionStack->addWidget(w);    nextData = new conversionData;    nextData->name = QString( tr("fahrenheit") );    nextData->button = new QPushButton(w);    nextData->button->setCheckable(true);    nextData->button->setText(nextData->name);    nextData->button->setSizePolicy(sizePolicy());    connect(nextData->button,SIGNAL(clicked()),this,SLOT(fahrenheitButtonClicked()));    nextMode->dataList->append(nextData);    gl2->addWidget(nextData->button);    nextData = new conversionData;    nextData->name = QString( tr("celcius") );    nextData->button = new QPushButton(w);    nextData->button->setCheckable(true);    nextData->button->setText(nextData->name);    nextData->button->setSizePolicy(sizePolicy());    connect(nextData->button,SIGNAL(clicked()),this,SLOT(celciusButtonClicked()));    nextMode->dataList->append(nextData);    gl2->addWidget(nextData->button);    nextData = new conversionData;    nextData->name = QString( tr("kelvin") );    nextData->button = new QPushButton(w);    nextData->button->setCheckable(true);    nextData->button->setText(nextData->name);    nextData->button->setSizePolicy(sizePolicy());    connect(nextData->button,SIGNAL(clicked()),this,SLOT(kelvinButtonClicked()));    nextMode->dataList->append(nextData);    gl2->addWidget(nextData->button);    modeList->append(nextMode);    // end setting up temperature conversion    // read conversion data files    QString path = Qtopia::qtopiaDir() + "etc/calculator/";    QDir directory;    directory.setPath( path );    QStringList fileList = directory.entryList(QStringList("*.conf"));    if ( !fileList.count() )         qDebug("No conversion data files are available.");    else {        QFile myFile;        QGridLayout *gl;        //iterate over found conf files        for (int i = 0; i < fileList.count(); i++) {            QString fileName = fileList[i];            QSettings cfg(path+fileName, QSettings::IniFormat);            QStringList groups = cfg.childGroups();            nextMode = new conversionMode;            nextMode->dataList = new QList<conversionData*>();            w = new QWidget();            gl = new QGridLayout(w);            //gl = new FlowLayout(w, 5, 3);            gl->setSizeConstraint( QLayout::SetDefaultConstraint );            gl->setSpacing( 3 );            gl->setMargin( 0 );            conversionStack->addWidget(w);             for (int j = 0; j < groups.count(); j++) {                QString group = groups[j];                if (group == "Translation")                    continue;                cfg.beginGroup(group);                if (group == "Name") {                    nextMode->name = cfg.value("Name").toString();                    typeSelector->addItem(nextMode->name);                } else {                    nextData = new conversionData;                    nextData->name = cfg.value("Name").toString();                    nextData->factor = cfg.value("Factor").toString().toDouble();                    if (nextData->factor == 1)                       nextMode->defaultType = nextData;                    nextMode->dataList->append(nextData);                                        //create the button for this data conversion                    QPushButton *pb = new QPushButton(w);                    pb->setCheckable(true);                    pb->setText(nextData->name);                    pb->setSizePolicy(sizePolicy());                    int cRow = cfg.value("Row").toInt();                    int cCol = cfg.value("Column").toInt();                    if (cRow < 0 || cCol < 0) {                        qWarning(QString("Missing grid position in config file: %1 group: %2").arg(fileName).arg(nextData->name).toLocal8Bit().constData());                    } else if (portrait)                        gl->addWidget(pb, cRow, cCol);                    else                        gl->addWidget(pb, cCol, cRow);                                                            //gl->addWidget(pb);                        connect(pb, SIGNAL(clicked()), this, SLOT(conversionButtonClicked()));                    nextData->button = pb;                }            }            modeList->append(nextMode);                    }    }      connect (PBC, SIGNAL(clicked()), this, SLOT(CClicked()));    connect (typeSelector, SIGNAL(activated(int)), this, SLOT(selectType(int)));    // Remember last selection    QSettings config("Trolltech","calculator"); // No tr    config.beginGroup("Conversion plugin");    int lastView = config.value("lastView",0).toInt();    if (lastView > (int)modeList->count()+1 || lastView < 0)	lastView = 0;    typeSelector->setCurrentIndex(lastView);    conversionStack->setCurrentIndex(lastView);    if (portrait) {        InputWidgetLayout->addWidget(conversionStack, fromRow+1, fromCol, 2, 4);        DecimalInputWidget::init(fromRow+3, fromCol);    } else {        InputWidgetLayout->addWidget(conversionStack, fromRow+1, fromCol, 5, 2);        DecimalInputWidget::init(fromRow+1, fromCol+2);    }}FormConversion::~FormConversion() {    QSettings config("Trolltech","calculator"); // No tr    config.beginGroup("Conversion plugin"); // No tr    config.setValue("lastView", conversionStack->currentIndex());}void FormConversion::showEvent ( QShowEvent *e ) {    systemEngine->setAccType("Double"); // No tr        QWidget::showEvent(e);}void FormConversion::selectType(int i) {    UnitConversionInstruction::tempFrom = UnitConversionInstruction::tempTo = 'n';    int currentMode = conversionStack->currentIndex();    QList<conversionData*> dataList = *(modeList->at(currentMode))->dataList;    for (int c = 0;c < dataList.count(); c++) {	QPushButton *b = (*(dataList.at(c))).button;	if (b->isChecked())	    b->toggle();    }    currentButton = 0;    conversionStack->setCurrentIndex(i);}void FormConversion::conversionButtonClicked() {    doConversion();}void FormConversion::doConversion() {    int currentMode = conversionStack->currentIndex();    QList<conversionData*> dataList = *(modeList->at(currentMode))->dataList;    bool newButtonFound = false;    for (int c = 0;c < dataList.count(); c++) {	QPushButton *b = (*(dataList.at(c))).button;	if (b->isChecked()) {	    if (b == currentButton) {		b->toggle();	    } else {		newButton = b;		newFactor = (*(dataList.at(c))).factor;		newButtonFound = true;	    }	}    }    if (newButtonFound) {	if (currentButton) { // temp convert ignores these anyway	    UnitConversionInstruction::from = currentFactor;	    UnitConversionInstruction::to = newFactor;	    systemEngine->pushInstruction("UnitConversion");	}	currentButton = newButton;	currentFactor = newFactor;    } else { // current button toggled off	currentButton = 0;    }}void FormConversion::kelvinButtonClicked() {    UnitConversionInstruction::tempFrom = UnitConversionInstruction::tempTo;    UnitConversionInstruction::tempTo = 'k';    doConversion();}void FormConversion::celciusButtonClicked() {    UnitConversionInstruction::tempFrom = UnitConversionInstruction::tempTo;    UnitConversionInstruction::tempTo = 'c';    doConversion();}void FormConversion::fahrenheitButtonClicked() {    UnitConversionInstruction::tempFrom = UnitConversionInstruction::tempTo;    UnitConversionInstruction::tempTo = 'f';    doConversion();}void FormConversion::CClicked() {    systemEngine->hardReset();}#endif //ENABLE_CONVERSION

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区黄视频| 久久久久久久久久电影| www.激情成人| 国产麻豆视频精品| 看电视剧不卡顿的网站| 美女视频一区在线观看| 国产精品小仙女| 免费观看日韩av| 裸体歌舞表演一区二区| 韩国一区二区三区| 国产乱码精品1区2区3区| 国产精品自拍三区| k8久久久一区二区三区| 91亚洲精华国产精华精华液| 99久久99久久精品国产片果冻 | 91在线你懂得| 不卡高清视频专区| 91女神在线视频| 欧美日韩精品免费观看视频| 欧美日韩一区二区在线观看视频| 欧美肥胖老妇做爰| 欧美草草影院在线视频| 国产日韩精品视频一区| 国产精品不卡一区二区三区| 樱桃国产成人精品视频| 三级在线观看一区二区| 久久激五月天综合精品| 粉嫩高潮美女一区二区三区| 色国产综合视频| 欧美本精品男人aⅴ天堂| 国产欧美综合在线观看第十页| 综合色中文字幕| 五月天婷婷综合| 国产毛片精品视频| 欧美在线不卡一区| www成人在线观看| 亚洲欧洲日韩女同| 麻豆精品一二三| 99国产精品久久| 欧美一区二区三区免费| 视频在线观看91| 波多野洁衣一区| 欧美一区二区三区视频在线观看| 国产精品欧美一区喷水| 奇米777欧美一区二区| 波多野结衣精品在线| 欧美大片在线观看| 亚洲制服丝袜一区| 成人综合在线视频| 日韩免费高清av| 亚洲一区二区三区四区不卡| 国产精品18久久久久久久久久久久 | 亚洲人成小说网站色在线| 午夜精品福利在线| av在线不卡电影| 精品福利av导航| 石原莉奈在线亚洲二区| 色婷婷亚洲一区二区三区| 久久婷婷国产综合精品青草| 五月激情综合网| 日本高清不卡在线观看| 国产精品卡一卡二卡三| 国产一区二区91| 欧美精品第一页| 亚洲综合色噜噜狠狠| a在线欧美一区| 久久精品综合网| 一本久久a久久精品亚洲| 久久午夜色播影院免费高清| 免费在线成人网| 欧美日韩视频在线第一区| 亚洲天堂网中文字| 99这里都是精品| 中文字幕第一区二区| 国产一区二区不卡老阿姨| 欧美成人一级视频| 久久精品国产秦先生| 欧美久久一区二区| 视频一区在线播放| 91精品黄色片免费大全| 日本视频在线一区| 欧美变态口味重另类| 久久国产福利国产秒拍| 精品久久久久久久久久久久久久久久久| 亚洲成人激情社区| 欧美军同video69gay| 欧美aaa在线| 26uuu久久天堂性欧美| 国产剧情一区二区三区| 国产欧美综合在线观看第十页| 国产91精品精华液一区二区三区| 国产人妖乱国产精品人妖| 国产91清纯白嫩初高中在线观看| 国产欧美日韩中文久久| 99综合影院在线| 一区二区三区四区乱视频| 欧美日韩午夜精品| 激情五月婷婷综合| 国产精品高清亚洲| 91捆绑美女网站| 日韩精品午夜视频| 久久久久久久久久美女| 国产jizzjizz一区二区| 亚洲九九爱视频| 欧美一区二区三区人| 国产凹凸在线观看一区二区| 亚洲色图欧美激情| 欧美一区二区三区婷婷月色| 国产精品一卡二| 亚洲观看高清完整版在线观看| 日韩毛片视频在线看| 欧美欧美欧美欧美| 国产精品亚洲第一| 亚洲国产sm捆绑调教视频| 精品美女一区二区三区| 99热99精品| 免费人成网站在线观看欧美高清| 欧美激情一区在线观看| 欧美天堂一区二区三区| 国内精品免费在线观看| 一区二区三区在线高清| 久久夜色精品国产噜噜av| 欧美午夜在线一二页| 国产精一品亚洲二区在线视频| 亚洲欧美日韩国产成人精品影院| 日韩精品专区在线影院重磅| 不卡的看片网站| 麻豆一区二区三区| 一区2区3区在线看| 国产日产精品一区| 日韩精品一区二区在线| 精品污污网站免费看| 粉嫩av一区二区三区在线播放| 亚洲777理论| 亚洲欧洲精品成人久久奇米网 | 亚洲韩国精品一区| 国产精品婷婷午夜在线观看| 欧美一级片免费看| 欧美影视一区在线| av激情综合网| 国产a区久久久| 国产精品一区在线| 久久精品国产99久久6| 成人久久18免费网站麻豆| 久久成人久久爱| 蜜桃精品在线观看| 免费在线成人网| 青青草成人在线观看| 亚洲电影你懂得| 五月天国产精品| 性做久久久久久免费观看欧美| 亚洲精品成人在线| 亚洲乱码国产乱码精品精98午夜 | 欧美日韩一区二区欧美激情 | 亚洲黄色av一区| 亚洲精品高清视频在线观看| 亚洲欧洲www| 最新欧美精品一区二区三区| 中文字幕制服丝袜成人av| 国产精品久久久久一区二区三区 | 99久久国产综合色|国产精品| 成人亚洲精品久久久久软件| 国产乱对白刺激视频不卡| 国产麻豆精品一区二区| 国产高清久久久久| 成人免费高清在线| 色呦呦国产精品| 欧美日韩中文一区| 日韩久久精品一区| 国产三级欧美三级| 日韩美女视频一区二区 | 欧美日韩精品一区二区三区| 色综合久久综合网欧美综合网| 色婷婷综合久久久久中文一区二区 | 亚洲国产精品一区二区久久| 香蕉成人伊视频在线观看| 日本欧美在线观看| 欧美人妖巨大在线| 日韩午夜激情av| 国产三区在线成人av| 亚洲男同性视频| 日本女人一区二区三区| 国内成人自拍视频| 91最新地址在线播放| 欧美日产国产精品| 国产午夜精品在线观看| 亚洲男人天堂av网| 免费三级欧美电影| 99re热这里只有精品免费视频| 欧美日韩精品一区二区三区蜜桃| 精品国产免费视频| 一区二区三区丝袜| 激情综合网最新| 欧美视频精品在线| 国产亚洲精品久| 爽好久久久欧美精品| 99久久久国产精品| 久久亚洲一区二区三区明星换脸| 亚洲柠檬福利资源导航| 国产伦精品一区二区三区视频青涩|