6 Star 9 Fork 4

依尚/CTP-Future

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
changeorderdlg.cpp 12.32 KB
一键复制 编辑 原始数据 按行查看 历史
MeGustas 提交于 2017-04-10 16:44 +08:00 . 1、CTP登录
#include "changeorderdlg.h"
#include "ui_changeorderdlg.h"
#include<QComboBox>
#include"ufxconfig.h"
#include<QMessageBox>
ChangeOrderDlg::ChangeOrderDlg(QWidget *parent) :
QDialog(parent),
ui(new Ui::ChangeOrderDlg)
{
ui->setupUi(this);
ui->cancelOrderdoubleClicked->setChecked(true);
ui->cancelOrderConfirm->setChecked(true);
ui->tableWidget->setColumnCount(2);
ui->tableWidget->setRowCount(3);
ui->tableWidget->setColumnWidth(0,80);
ui->tableWidget->setColumnWidth(1,353);
ui->tableWidget->setHorizontalHeaderItem(0,new QTableWidgetItem(QStringLiteral("快捷键")));
ui->tableWidget->setHorizontalHeaderItem(1,new QTableWidgetItem(QStringLiteral("动作")));
ui->tableWidget->setAlternatingRowColors(true);
for(int i = 0; i < 3; i++){
QComboBox* m_KeyCombox = new QComboBox();
m_KeyCombox->addItem(QStringLiteral("1"));//0
m_KeyCombox->addItem(QStringLiteral("2"));//1
m_KeyCombox->addItem(QStringLiteral("3"));
m_KeyCombox->addItem(QStringLiteral("4"));
m_KeyCombox->addItem(QStringLiteral("5"));
m_KeyCombox->addItem(QStringLiteral("6"));
m_KeyCombox->addItem(QStringLiteral("7"));
m_KeyCombox->addItem(QStringLiteral("8"));
m_KeyCombox->addItem(QStringLiteral("9"));
m_KeyCombox->addItem(QStringLiteral("0"));
m_KeyCombox->addItem(QStringLiteral("小键盘 1"));//10
m_KeyCombox->addItem(QStringLiteral("小键盘 2"));
m_KeyCombox->addItem(QStringLiteral("小键盘 3"));
m_KeyCombox->addItem(QStringLiteral("小键盘 4"));
m_KeyCombox->addItem(QStringLiteral("小键盘 5"));
m_KeyCombox->addItem(QStringLiteral("小键盘 6"));//15
m_KeyCombox->addItem(QStringLiteral("小键盘 7"));
m_KeyCombox->addItem(QStringLiteral("小键盘 8"));
m_KeyCombox->addItem(QStringLiteral("小键盘 9"));
m_KeyCombox->addItem(QStringLiteral("小键盘 0"));
m_KeyCombox->addItem(QStringLiteral("A"));//20
m_KeyCombox->addItem(QStringLiteral("B"));
m_KeyCombox->addItem(QStringLiteral("C"));
m_KeyCombox->addItem(QStringLiteral("D"));
m_KeyCombox->addItem(QStringLiteral("E"));
m_KeyCombox->addItem(QStringLiteral("F"));
m_KeyCombox->addItem(QStringLiteral("G"));
m_KeyCombox->addItem(QStringLiteral("H"));
m_KeyCombox->addItem(QStringLiteral("I"));
m_KeyCombox->addItem(QStringLiteral("J"));
m_KeyCombox->addItem(QStringLiteral("K"));
m_KeyCombox->addItem(QStringLiteral("L"));
m_KeyCombox->addItem(QStringLiteral("M"));
m_KeyCombox->addItem(QStringLiteral("N"));
m_KeyCombox->addItem(QStringLiteral("O"));
m_KeyCombox->addItem(QStringLiteral("P"));
m_KeyCombox->addItem(QStringLiteral("Q"));
m_KeyCombox->addItem(QStringLiteral("R"));
m_KeyCombox->addItem(QStringLiteral("S"));
m_KeyCombox->addItem(QStringLiteral("T"));
m_KeyCombox->addItem(QStringLiteral("U"));
m_KeyCombox->addItem(QStringLiteral("V"));
m_KeyCombox->addItem(QStringLiteral("W"));
m_KeyCombox->addItem(QStringLiteral("X"));
m_KeyCombox->addItem(QStringLiteral("Y"));
m_KeyCombox->addItem(QStringLiteral("Z"));
m_KeyCombox->addItem(QStringLiteral("F1"));
m_KeyCombox->addItem(QStringLiteral("F2"));
m_KeyCombox->addItem(QStringLiteral("F3"));
m_KeyCombox->addItem(QStringLiteral("F4"));
m_KeyCombox->addItem(QStringLiteral("F5"));
m_KeyCombox->addItem(QStringLiteral("F6"));
m_KeyCombox->addItem(QStringLiteral("F7"));
m_KeyCombox->addItem(QStringLiteral("F8"));
m_KeyCombox->addItem(QStringLiteral("F9"));
m_KeyCombox->addItem(QStringLiteral("F10"));
m_KeyCombox->addItem(QStringLiteral("F11"));
m_KeyCombox->addItem(QStringLiteral("F12"));
m_KeyCombox->addItem(QStringLiteral("空格键"));
m_KeyCombox->addItem(QStringLiteral("回车键"));
m_KeyCombox->addItem(QStringLiteral("Alt键"));
m_KeyCombox->addItem(QStringLiteral("Ctrl键"));
m_KeyCombox->addItem(QStringLiteral("↑"));
m_KeyCombox->addItem(QStringLiteral("↓"));
m_KeyCombox->addItem(QStringLiteral("←"));
m_KeyCombox->addItem(QStringLiteral("→"));
m_KeyCombox->addItem(QStringLiteral("减号"));
m_KeyCombox->addItem(QStringLiteral("加号"));
m_KeyCombox->addItem(QStringLiteral("等号"));
m_KeyCombox->addItem(QStringLiteral("乘号"));
m_KeyCombox->addItem(QStringLiteral("除号"));
m_KeyCombox->addItem(QStringLiteral("删除键"));
m_KeyCombox->addItem(QStringLiteral("插入键"));
QComboBox* m_ChangeTypeCombox = new QComboBox();
m_ChangeTypeCombox->addItem(QStringLiteral("撤销选中单"));//0
m_ChangeTypeCombox->addItem(QStringLiteral("撤销最后一个单"));//1
m_ChangeTypeCombox->addItem(QStringLiteral("撤销最早一个单"));//2
m_ChangeTypeCombox->addItem(QStringLiteral("按合约撤单"));//3
m_ChangeTypeCombox->addItem(QStringLiteral("按买卖撤单"));//4
m_ChangeTypeCombox->addItem(QStringLiteral("按合约及买卖撤单"));//5
m_ChangeTypeCombox->addItem(QStringLiteral("全部撤单"));//6
m_ChangeTypeCombox->addItem(QStringLiteral("按对手价改单"));//7
m_ChangeTypeCombox->addItem(QStringLiteral("改价格"));//8
m_ChangeTypeCombox->addItem(QStringLiteral("改手数"));//9
ui->tableWidget->setCellWidget(i, 0, (QWidget*)m_KeyCombox);
ui->tableWidget->setCellWidget(i, 1, (QWidget*)m_ChangeTypeCombox);
connect(m_KeyCombox,SIGNAL(currentTextChanged(QString)),this,SLOT(SlotCurrentKeyChanged(QString)));
}
//从配置文件中读取预设内容
QString value = UFXConfig::getInstance()->GetString("Default","ChangeOrder","");
if(value != 0){
QStringList list1 = value.split("|");
if(list1.size() == 3){
for(int i = 0;i<3; i++){
QStringList list2 = list1[i].split(",");
if(list2.size()==2){
((QComboBox*)ui->tableWidget->cellWidget(i,0))->setCurrentText(list2[0]);
((QComboBox*)ui->tableWidget->cellWidget(i,1))->setCurrentIndex(list2[1].toInt());
m_ChangeInfos.insert(list2[0],list2[1].toInt());
}
}
}
}
QString FuncChangeOrderFlg = UFXConfig::getInstance()->GetString("FuncFlag","FuncChangeOrderFlg","1");
if(FuncChangeOrderFlg == "1"){
ui->FuncChangeOrderFlg->setChecked(true);
}else{
ui->FuncChangeOrderFlg->setChecked(false);
}
QString DoubleClickCancelOrderFlg = UFXConfig::getInstance()->GetString("FuncFlag","DoubleClickCancelOrderFlg","1");
if(DoubleClickCancelOrderFlg == "1"){
ui->cancelOrderdoubleClicked->setChecked(true);
}else{
ui->cancelOrderdoubleClicked->setChecked(false);
}
QString ConfirmBeforeCancelOrderFlg = UFXConfig::getInstance()->GetString("FuncFlag","ConfirmBeforeCancelOrderFlg","1");
if(ConfirmBeforeCancelOrderFlg == "1"){
ui->cancelOrderConfirm->setChecked(true);
}else{
ui->cancelOrderConfirm->setChecked(false);
}
QString HideCancelOrderButtomFlg = UFXConfig::getInstance()->GetString("FuncFlag","HideCancelOrderButtomFlg","0");
if(HideCancelOrderButtomFlg == "1"){
ui->HideCancelOrderButton->setChecked(true);
}else{
ui->HideCancelOrderButton->setChecked(false);
}
QString ChangeOrderFlg = UFXConfig::getInstance()->GetString("FuncFlag","ChangeOrderFlg","1");
if(ChangeOrderFlg == "1"){
ui->ChangeOrderFlg->setChecked(true);
}else{
ui->ChangeOrderFlg->setChecked(false);
}
QString ConfirmBeforeChangeOrderFlg = UFXConfig::getInstance()->GetString("FuncFlag","ConfirmBeforeChangeOrderFlg","1");
if(ConfirmBeforeChangeOrderFlg == "1"){
ui->ChangeOrderConfirm->setChecked(true);
}else{
ui->ChangeOrderConfirm->setChecked(false);
}
connect(ui->HideCancelOrderButton,SIGNAL(toggled(bool)),this,SLOT(SlotHideCancelOrderButtonToggled(bool)));
}
ChangeOrderDlg::~ChangeOrderDlg()
{
delete ui;
}
void ChangeOrderDlg::SlotHideCancelOrderButtonToggled(bool b){
emit SigHideCancelOrderButtonToggled(b);
}
void ChangeOrderDlg::SlotJudgeChangeKeyString(QString msg){
QMessageBox::critical(this,QString("Error"),msg);
}
void ChangeOrderDlg::SlotCurrentKeyChanged(QString key){
int iCnt = 0;
for(int i = 0; i < 3; i++){
QString keyString = ((QComboBox*)ui->tableWidget->cellWidget(i,0))->currentText();
if(key == keyString){
iCnt++;
}
}
if(iCnt > 1){
QString msg = QStringLiteral("快捷键 ") + key + QStringLiteral(" 已在 键盘撤单改单 中使用! ");
QMessageBox::critical(this,QString("Error"),msg);
return;
}else{
emit SigJudgeChangeKeyString(key);
}
}
void ChangeOrderDlg::OKButtonClicked(){
m_ChangeInfos.clear();
//将设置好的快捷键保存到配置文件中
QString value = "";
int cnt = ui->tableWidget->rowCount();
for(int i =0; i <cnt; i++){
QString keyStr = ((QComboBox*)ui->tableWidget->cellWidget(i,0))->currentText();
int ChangeType = ((QComboBox*)ui->tableWidget->cellWidget(i,1))->currentIndex();
QString tmp = keyStr +"," +QString::number(ChangeType);
if(i == 0){
value = tmp;
}else{
value = value +"|"+ tmp;
}
m_ChangeInfos.insert(keyStr,ChangeType);
}
UFXConfig::getInstance()->SetString("Default","ChangeOrder",value.toStdString().c_str());
if(ui->cancelOrderdoubleClicked->checkState() == Qt::Checked){
UFXConfig::getInstance()->SetString("FuncFlag","DoubleClickCancelOrderFlg","1");
}else if(ui->cancelOrderdoubleClicked->checkState() == Qt::Unchecked){
UFXConfig::getInstance()->SetString("FuncFlag","DoubleClickCancelOrderFlg","0");
}
if(ui->cancelOrderConfirm->checkState() == Qt::Checked){
UFXConfig::getInstance()->SetString("FuncFlag","ConfirmBeforeCancelOrderFlg","1");
}else if(ui->cancelOrderConfirm->checkState() == Qt::Unchecked){
UFXConfig::getInstance()->SetString("FuncFlag","ConfirmBeforeCancelOrderFlg","0");
}
if(ui->HideCancelOrderButton->checkState() == Qt::Checked){
UFXConfig::getInstance()->SetString("FuncFlag","HideCancelOrderButtomFlg","1");
}else if(ui->HideCancelOrderButton->checkState() == Qt::Unchecked){
UFXConfig::getInstance()->SetString("FuncFlag","HideCancelOrderButtomFlg","0");
}
if(ui->ChangeOrderFlg->checkState() == Qt::Checked){
UFXConfig::getInstance()->SetString("FuncFlag","ChangeOrderFlg","1");
}else if(ui->ChangeOrderFlg->checkState() == Qt::Unchecked){
UFXConfig::getInstance()->SetString("FuncFlag","ChangeOrderFlg","0");
}
if(ui->ChangeOrderConfirm->checkState() == Qt::Checked){
UFXConfig::getInstance()->SetString("FuncFlag","ConfirmBeforeChangeOrderFlg","1");
}else if(ui->ChangeOrderConfirm->checkState() == Qt::Unchecked){
UFXConfig::getInstance()->SetString("FuncFlag","ConfirmBeforeChangeOrderFlg","0");
}
if(ui->FuncChangeOrderFlg->isChecked()){
UFXConfig::getInstance()->SetString("FuncFlag","FuncChangeOrderFlg","1");
}else{
UFXConfig::getInstance()->SetString("FuncFlag","FuncChangeOrderFlg","0");
}
}
bool ChangeOrderDlg::JudgeKeyStringFlg(QString key){
return m_ChangeInfos.contains(key);
}
int ChangeOrderDlg::GetChangeType(QString key){
if(m_ChangeInfos.contains(key)){
return m_ChangeInfos[key];
}
return -1;
}
bool ChangeOrderDlg::GetCancelOrderConfirmFlg(){
if(ui->cancelOrderConfirm->checkState() == Qt::Checked){
return true;
}
return false;
}
bool ChangeOrderDlg::GetCancelOrderDoubleClickedFlg(){
if(ui->cancelOrderdoubleClicked->checkState() == Qt::Checked){
return true;
}
return false;
}
bool ChangeOrderDlg::GetChangeOrderFlg(){
if(ui->FuncChangeOrderFlg->checkState() == Qt::Checked){
return true;
}
return false;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/soso58/CTP-Future.git
[email protected]:soso58/CTP-Future.git
soso58
CTP-Future
CTP-Future
master

搜索帮助