Commit 774c1995b273ddcbc31604ac8d38801490ff1cf0
1 parent
ecfb5801a8
Exists in
master
and in
2 other branches
에러 팝업 투명 효과 재처리
- Parent Window 인자 처리 완료
Showing
9 changed files
with
280 additions
and
11 deletions
Show diff stats
app/gui/oven_control/config.cpp
| 1 | +#include <QDebug> | |
| 1 | 2 | #include "config.h" |
| 2 | 3 | |
| 4 | +using namespace Define; | |
| 5 | + | |
| 6 | +Config* Config::instance = NULL; | |
| 7 | + | |
| 3 | 8 | Config::Config(QObject *parent) : QObject(parent) |
| 4 | 9 | { |
| 10 | + memcpy(config_format,config_format_kr,MAX_CONFIG_COUNT*64); | |
| 11 | +// m_setFavorite.insert(2); | |
| 12 | +// m_setFavorite.insert(3); | |
| 13 | +// m_setFavorite.insert(1); | |
| 14 | +// QSetIterator<uint32_t> i = getConstBeginFavorite(); | |
| 15 | +// while(i.hasNext()){ | |
| 16 | +// temp = i.next(); | |
| 17 | +// qDebug() << temp; | |
| 18 | +// } | |
| 19 | +// while(i.hasPrevious()){ | |
| 20 | +// temp = i.previous(); | |
| 21 | +// qDebug() << temp; | |
| 22 | +// } | |
| 23 | +} | |
| 24 | + | |
| 25 | +Config::~Config(){ | |
| 26 | + | |
| 27 | +} | |
| 5 | 28 | |
| 29 | +Config* Config::getInstance(QObject *parent){ | |
| 30 | + if(instance ==NULL){ | |
| 31 | + instance = new Config(parent); | |
| 32 | + } | |
| 33 | + return instance; | |
| 6 | 34 | } |
| 35 | + | |
| 36 | +bool Config::saveConfig(){ | |
| 37 | + return false; | |
| 38 | +} | |
| 39 | + | |
| 40 | +bool Config::loadConfig(){ | |
| 41 | + return false; | |
| 42 | +} | |
| 43 | + | |
| 44 | + | |
| 45 | +Define::config_item Config::getConfigValue(Define::ConfigType idx){ | |
| 46 | + return configlist.values[idx]; | |
| 47 | +} | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | +void Config::setConfigValue(Define::ConfigType idx, Define::config_item& itemdata){ | |
| 52 | + configlist.values[idx] = itemdata; | |
| 53 | +} | |
| 54 | + | |
| 55 | + | |
| 56 | +QString Config::getValueString(Define::ConfigType idx){ | |
| 57 | + QString qstrTemp=""; | |
| 58 | + if( (config_data_type[(uint32_t)idx] & 0x80) ==0){ | |
| 59 | + switch(config_data_type[(uint32_t)idx]){ | |
| 60 | + case 0: | |
| 61 | + qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].d32); | |
| 62 | + break; | |
| 63 | + case 1: | |
| 64 | + qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].f32); | |
| 65 | + break; | |
| 66 | + } | |
| 67 | + } | |
| 68 | + switch(idx){ | |
| 69 | + case config_language: | |
| 70 | + qstrTemp = tr(language_menu[configlist.items.language.d32]); | |
| 71 | + break; | |
| 72 | + } | |
| 73 | + return qstrTemp; | |
| 74 | +} | |
| 75 | + | |
| 76 | +QString Config::getTitleString(Define::ConfigType idx){ | |
| 77 | + QString strTemp =""; | |
| 78 | + strTemp = tr(config_title[idx]); | |
| 79 | + return strTemp; | |
| 80 | +} | |
| 81 | + | |
| 82 | +bool Config::isFavorite(Define::ConfigType idx){ | |
| 83 | + return m_setFavorite.contains((uint32_t)idx); | |
| 84 | + return true; | |
| 85 | +} | |
| 86 | + | |
| 87 | +QSetIterator<uint32_t> Config::getConstBeginFavorite(){ | |
| 88 | + QSetIterator<uint32_t> i(m_setFavorite); | |
| 89 | + return i; | |
| 90 | +} | |
| 91 | + | |
| 92 | +bool Config::loadFavorite(void){ | |
| 93 | + return false; | |
| 94 | +} | |
| 95 | + | |
| 96 | +bool Config::saveFavorite(void){ | |
| 97 | + return false; | |
| 98 | +} | |
| 99 | + | |
| 100 | +void Config::insertFavorite(Define::ConfigType idx){ | |
| 101 | + m_setFavorite.insert((uint32_t)idx); | |
| 102 | +} | |
| 103 | +void Config::removeFavorite(Define::ConfigType idx){ | |
| 104 | + m_setFavorite.remove((uint32_t)idx); | |
| 105 | +} | |
| 106 | + | |
| 107 | +QString Config::getDateTimeString(uint32_t sec){ | |
| 108 | + Config* ins = getInstance(); | |
| 109 | + QString strTemp=""; | |
| 110 | + if(ins->configlist.items.temptype.d32==0){ | |
| 111 | + | |
| 112 | + } | |
| 113 | + return strTemp; | |
| 114 | +} | |
| 115 | + | |
| 116 | +QString Config::getTempString(int cel_temp){ | |
| 117 | + Config* ins = getInstance(); | |
| 118 | + QString strTemp=""; | |
| 119 | + if(ins->configlist.items.temptype.d32==0){ | |
| 120 | + | |
| 121 | + } | |
| 122 | + return strTemp; | |
| 123 | +} | |
| 124 | + | |
| 125 | +void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ | |
| 126 | + | |
| 127 | +} | |
| 128 | + | |
| 129 | + | |
| 130 | + | ... | ... |
app/gui/oven_control/config.h
| ... | ... | @@ -3,29 +3,162 @@ |
| 3 | 3 | |
| 4 | 4 | |
| 5 | 5 | #include <QObject> |
| 6 | +#include <QSet> | |
| 7 | + | |
| 8 | +#define STRUCT_PACK __attribute__ ((packed)) | |
| 9 | + | |
| 10 | + | |
| 11 | +#define MAX_CONFIG_COUNT 14 | |
| 6 | 12 | |
| 7 | 13 | namespace Define |
| 8 | 14 | { |
| 9 | 15 | enum ConfigType { |
| 10 | - | |
| 16 | + config_language = 0, | |
| 17 | + config_datetime, | |
| 18 | + config_temptype, | |
| 19 | + config_backlight, | |
| 20 | + config_stop_delay, | |
| 21 | + config_best_dish_weight, | |
| 22 | + config_party_dish_weight, | |
| 23 | + config_ilc_rack_number, | |
| 24 | + config_ilc_rack_sequnece, | |
| 25 | + config_ilc_cook_wait_time, | |
| 26 | + config_cooktime_format, | |
| 27 | + config_time_type, | |
| 28 | + config_resttime_format, | |
| 29 | + config_marster_vol, | |
| 11 | 30 | }; |
| 31 | + | |
| 32 | + typedef union _config_item{ | |
| 33 | + uint32_t d32; | |
| 34 | + float f32; | |
| 35 | + struct{ | |
| 36 | + uint8_t d8_0; | |
| 37 | + uint8_t d8_1; | |
| 38 | + uint8_t d8_2; | |
| 39 | + uint8_t d8_3; | |
| 40 | + }d8; | |
| 41 | + }config_item; | |
| 42 | + | |
| 43 | + typedef union _config_lists{ | |
| 44 | + uint8_t data[MAX_CONFIG_COUNT*4]; | |
| 45 | + config_item values[MAX_CONFIG_COUNT]; | |
| 46 | + struct{ | |
| 47 | + config_item language; | |
| 48 | + config_item datetime; | |
| 49 | + config_item temptype; | |
| 50 | + config_item backlight; | |
| 51 | + config_item stop_delay; | |
| 52 | + config_item best_dish_weight; | |
| 53 | + config_item party_dish_weight; | |
| 54 | + config_item ilc_rack_number; | |
| 55 | + config_item ilc_rack_sequnece; | |
| 56 | + config_item ilc_cook_wait_time; | |
| 57 | + config_item cooktime_format; | |
| 58 | + config_item time_type; | |
| 59 | + config_item resttime_format; | |
| 60 | + config_item marster_vol; | |
| 61 | + }items; | |
| 62 | + }STRUCT_PACK config_lists; | |
| 12 | 63 | } |
| 13 | 64 | |
| 65 | + | |
| 66 | + | |
| 14 | 67 | class Config : public QObject |
| 15 | 68 | { |
| 16 | 69 | Q_OBJECT |
| 17 | 70 | |
| 18 | 71 | explicit Config(QObject *parent = 0); |
| 72 | + ~Config(void); | |
| 19 | 73 | |
| 20 | 74 | static Config *instance; |
| 21 | 75 | |
| 76 | + const char language_menu[3][20]{ | |
| 77 | + "한국어\0", | |
| 78 | + "中國語\0", | |
| 79 | + "English" | |
| 80 | + }; | |
| 81 | + | |
| 82 | + | |
| 83 | + /* config_data_type Description | |
| 84 | + * 80 = Custom | |
| 85 | + * 0 = int | |
| 86 | + * 1 = float | |
| 87 | + */ | |
| 88 | + const uint8_t config_data_type[MAX_CONFIG_COUNT] = { | |
| 89 | + 0x80, 0x80, 0x80, 0, 0, 0, 0, 0, 0, 0, | |
| 90 | + 0x80,0x80,0x80,0 | |
| 91 | + }; | |
| 92 | + | |
| 93 | + const char config_format_kr[MAX_CONFIG_COUNT][64]={ | |
| 94 | + "%S", | |
| 95 | + "%S", | |
| 96 | + "%S", | |
| 97 | + "%d", | |
| 98 | + "%d 분", | |
| 99 | + "%d g", //5 | |
| 100 | + "%d g", | |
| 101 | + "%d", | |
| 102 | + "%d", | |
| 103 | + "%d min", //9 | |
| 104 | + "%S", | |
| 105 | + "%S", | |
| 106 | + "%S", | |
| 107 | + "%d" | |
| 108 | + }; | |
| 109 | + | |
| 110 | + char config_format[MAX_CONFIG_COUNT][64]; | |
| 111 | + | |
| 112 | + const char config_title[MAX_CONFIG_COUNT][64]={ | |
| 113 | + "언어설정", //0 | |
| 114 | + "날짜와 시간", | |
| 115 | + "온도단위", | |
| 116 | + "화면밝기", | |
| 117 | + "응축식 후드의 정지지연", | |
| 118 | + "일품요리용 접시무게", //5 | |
| 119 | + "연회용 접시무게", | |
| 120 | + "ILC 조리선반 개수", | |
| 121 | + "ILC 조리선반 순서", | |
| 122 | + "ILC 조리 온습도 대기시간", //9 | |
| 123 | + "조리시간 포맷", | |
| 124 | + "실시간 포맷", | |
| 125 | + "잔여시간 포맷", | |
| 126 | + "마스터 볼륨" | |
| 127 | + }; | |
| 128 | + | |
| 129 | + QSet<uint32_t> m_setFavorite; | |
| 130 | + | |
| 131 | + | |
| 22 | 132 | public: |
| 23 | - static Config *getInstance(); | |
| 24 | - static void init(); | |
| 133 | + static Config *getInstance(QObject *parent=0); | |
| 134 | + //static void init(); | |
| 135 | + bool loadConfig(void); | |
| 136 | + bool saveConfig(void); | |
| 137 | + Define::config_item getConfigValue(Define::ConfigType idx); | |
| 138 | + void setConfigValue(Define::ConfigType idx, Define::config_item& itemdata); | |
| 139 | + QString getValueString(Define::ConfigType idx); | |
| 140 | + QString getTitleString(Define::ConfigType idx); | |
| 141 | + bool isFavorite(Define::ConfigType idx); | |
| 142 | + QSetIterator<uint32_t> getConstBeginFavorite(); | |
| 143 | + bool loadFavorite(void); | |
| 144 | + bool saveFavorite(void); | |
| 145 | + void insertFavorite(Define::ConfigType idx); | |
| 146 | + void removeFavorite(Define::ConfigType idx); | |
| 147 | + static QString getDateTimeString(uint32_t sec); | |
| 148 | + static QString getTempString(int cel_temp); | |
| 149 | + | |
| 150 | + void execConfigWindow(QWidget *parent, Define::ConfigType idx); | |
| 151 | + | |
| 152 | + | |
| 153 | + Define::config_lists configlist; | |
| 154 | + | |
| 155 | + | |
| 25 | 156 | |
| 26 | 157 | signals: |
| 27 | 158 | |
| 28 | 159 | public slots: |
| 29 | 160 | }; |
| 30 | 161 | |
| 162 | + | |
| 163 | + | |
| 31 | 164 | #endif // CONFIG_H | ... | ... |
app/gui/oven_control/errorpopupdlg.cpp
| ... | ... | @@ -13,6 +13,7 @@ ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &MsgDesc, const QStr |
| 13 | 13 | ui->centralwidget->setWindowFlags(Qt::FramelessWindowHint); |
| 14 | 14 | ui->ctrlWarnDescription->setText(MsgDesc); |
| 15 | 15 | ui->ctrlWarnTitle->setText(MsgTitle); |
| 16 | + m_pParent = parent; | |
| 16 | 17 | } |
| 17 | 18 | |
| 18 | 19 | ErrorPopupDlg::~ErrorPopupDlg() |
| ... | ... | @@ -22,5 +23,6 @@ ErrorPopupDlg::~ErrorPopupDlg() |
| 22 | 23 | |
| 23 | 24 | void ErrorPopupDlg::on_ctrlOkBtn_clicked() |
| 24 | 25 | { |
| 26 | + emit closedPopup(m_pParent); | |
| 25 | 27 | close(); |
| 26 | 28 | } | ... | ... |
app/gui/oven_control/errorpopupdlg.h
| ... | ... | @@ -15,11 +15,15 @@ public: |
| 15 | 15 | explicit ErrorPopupDlg(QWidget *parent = 0, const QString &MsgDesc=0, const QString &MsgTitle=0); |
| 16 | 16 | ~ErrorPopupDlg(); |
| 17 | 17 | |
| 18 | +signals: | |
| 19 | + void closedPopup(QWidget* parent=0); | |
| 20 | + | |
| 18 | 21 | private slots: |
| 19 | 22 | void on_ctrlOkBtn_clicked(); |
| 20 | 23 | |
| 21 | 24 | private: |
| 22 | 25 | Ui::ErrorPopupDlg *ui; |
| 26 | + QWidget* m_pParent; | |
| 23 | 27 | }; |
| 24 | 28 | |
| 25 | 29 | #endif // ERRORPOPUPDLG_H | ... | ... |
app/gui/oven_control/errorpopupdlg.ui
| ... | ... | @@ -16,7 +16,9 @@ |
| 16 | 16 | <property name="styleSheet"> |
| 17 | 17 | <string notr="true">#centralwidget { background-image: url(:/images/background/popup/error.png); |
| 18 | 18 | background-color: rgba(0, 0, 0, 255); |
| 19 | -}</string> | |
| 19 | +} | |
| 20 | + | |
| 21 | +QDialog { background: transparent; }</string> | |
| 20 | 22 | </property> |
| 21 | 23 | <widget class="QWidget" name="centralwidget" native="true"> |
| 22 | 24 | <property name="geometry"> | ... | ... |
app/gui/oven_control/main.cpp
| ... | ... | @@ -3,6 +3,7 @@ |
| 3 | 3 | #include "ovencontroller.h" |
| 4 | 4 | #include "udphandler.h" |
| 5 | 5 | #include "ovenstatics.h" |
| 6 | +#include "config.h" | |
| 6 | 7 | #include <QApplication> |
| 7 | 8 | |
| 8 | 9 | int main(int argc, char *argv[]) |
| ... | ... | @@ -18,6 +19,8 @@ int main(int argc, char *argv[]) |
| 18 | 19 | interface->setUdpHandler(udp); |
| 19 | 20 | |
| 20 | 21 | OvenStatistics::getInstance(oven); |
| 22 | + Config::getInstance(oven); | |
| 23 | + | |
| 21 | 24 | |
| 22 | 25 | MainWindow w; |
| 23 | 26 | w.showFullScreen(); | ... | ... |
app/gui/oven_control/operationtimemode.cpp
| ... | ... | @@ -29,7 +29,7 @@ void OperationTimeMode::reloadUi(void){ |
| 29 | 29 | uint32_t timetemp; |
| 30 | 30 | OvenStatistics* ovs = OvenStatistics::getInstance(); |
| 31 | 31 | QString strTemp=""; |
| 32 | - uint32_t totaltime; | |
| 32 | + uint32_t totaltime=0; | |
| 33 | 33 | if(ovs!=NULL){ |
| 34 | 34 | //건열 조리 모드 |
| 35 | 35 | timetemp = ovs->srvdata->use_log.items.cook_dry_mode; | ... | ... |
app/gui/oven_control/ovenstatics.cpp
| ... | ... | @@ -539,8 +539,9 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, |
| 539 | 539 | { |
| 540 | 540 | if(m_bPopupShow==false){ |
| 541 | 541 | m_bPopupShow = true; |
| 542 | - ErrorPopupDlg *dlg = new ErrorPopupDlg(0,MsgDesc,MsgTitle); | |
| 543 | - connect(dlg,SIGNAL(destroyed(QObject*)),this, SLOT(onErrorPopupClosed())); | |
| 542 | + ErrorPopupDlg *dlg = new ErrorPopupDlg(QApplication::activeWindow(),MsgDesc,MsgTitle); | |
| 543 | + //connect(dlg,SIGNAL(destroyed(QObject*)),this, SLOT(onErrorPopupClosed())); | |
| 544 | + connect(dlg,SIGNAL(closedPopup(QWidget*)),this, SLOT(onErrorPopupClosed(QWidget*))); | |
| 544 | 545 | dlg->showFullScreen(); |
| 545 | 546 | m_nLastPopupidx = erridx; |
| 546 | 547 | } |
| ... | ... | @@ -583,7 +584,7 @@ type_temp OvenStatistics::getCurSensorValueByIdx(uint16_t idx){ |
| 583 | 584 | return curSensorValue[idx]; |
| 584 | 585 | } |
| 585 | 586 | |
| 586 | -void OvenStatistics::onErrorPopupClosed(void){ | |
| 587 | +void OvenStatistics::onErrorPopupClosed(QWidget* parent){ | |
| 587 | 588 | qDebug() << "Error Popup Closed!"; |
| 588 | 589 | if(bNeedErrorClear) { |
| 589 | 590 | qDebug() << "send error clear command"; |
| ... | ... | @@ -595,9 +596,9 @@ void OvenStatistics::onErrorPopupClosed(void){ |
| 595 | 596 | item = m_mapPopupList.first(); |
| 596 | 597 | m_nLastPopupidx = m_mapPopupList.firstKey(); |
| 597 | 598 | bNeedErrorClear = item.bNeedClear; |
| 598 | - ErrorPopupDlg *dlg = new ErrorPopupDlg(0,item.strDesc,item.strTitle); | |
| 599 | + ErrorPopupDlg *dlg = new ErrorPopupDlg(parent,item.strDesc,item.strTitle); | |
| 599 | 600 | m_mapPopupList.remove(m_nLastPopupidx); |
| 600 | - connect(dlg,SIGNAL(destroyed(QObject*)),this, SLOT(onErrorPopupClosed())); | |
| 601 | + connect(dlg,SIGNAL(closedPopup(QWidget*)),this, SLOT(onErrorPopupClosed(QWidget*))); | |
| 601 | 602 | dlg->showFullScreen(); |
| 602 | 603 | } |
| 603 | 604 | else{ | ... | ... |
app/gui/oven_control/ovenstatics.h