#include "window_settings_xdr6688.h" #if (USE_DEVICE_SETTINGS) #include "../fm_dimensions.h" #if (RM_MODEL == RM_MODEL_TYPE_XLDR_88) #include "../ui/title_widget.h" #include "rm_combo_box.h" #include "rm_radio_buttons.h" #include "rm_group_combo_box.h" #include "rm_group_radio_buttons.h" #include "rm_settings_cfg_xdr6688.h" #include "rm_setting_time.h" #include "rm_admin_passwd.h" #include #include #include #include "../ui/rm_widget_checkbox.h" #if (DETECT_SETTING_USB_EJECT) #include "../core/rm_usb.h" #include "../rm_application.h" #endif // 문자열 처리 UTF // https://www.branah.com/unicode-converter const int gComboBoxWidth = 200; const int gTitleWidth = 50; static const QString glevel = MKU8("\xe3\x83\xac\xe3\x83\x99\xe3\x83\xab"); static const QStringList gEOffOn = QStringList() << "OFF" << "ON"; WindowSettings::WindowSettings(QWidget *parent) : RMSettingsWindowBase(parent) { //_createRowA(); } WindowSettings::~WindowSettings() { } //------------------------------------------------------------- // XDR-66 WindowSettings66::WindowSettings66(QWidget *parent) : WindowSettings(parent) { _wwidth = SETTINGS_WINDOW_WIDTH; _wheight = 600; setFixedSize(_wwidth,_wheight); _createRowA(); } QVBoxLayout* WindowSettings66::_createRow(QWidget** rw) { *rw = new QWidget(_contentWidget); (*rw)->setFixedWidth(_wwidth-(8*2)); layout->addWidget(*rw); QVBoxLayout* l = new QVBoxLayout(*rw); l->setMargin(0); l->setSpacing(4); l->setAlignment(Qt::AlignTop); return l; } void WindowSettings66::_createRowA() { QWidget* row = NULL; QVBoxLayout* rowLayout = NULL; rowLayout = _createRow(&row); int fh = 65; RMGroupComboBox* gs = new RMGroupComboBox(row, MKU8("\x33\x47\xe3\x82\xbb\xe3\x83\xb3\xe3\x82\xb5\xe3\x83\xbc\xe6\x84\x9f\xe5\xba\xa6"), QStringList() << glevel + "1" << glevel + "2" << glevel + "3" \ << glevel + "4" << glevel + "5", &CFG::data[SD_SENSOR]); rowLayout->addWidget(gs); gs->comboBox->setFixedWidth(gComboBoxWidth); gs->setFixedHeight(fh); // 画像 SIZE_800x600, SIZE_640x320 RMGroupRadioButtons* gr = _MGR(row,MKU8("\xe7\x94\xbb\xe5\x83\x8f"),rowLayout,QStringList() << "800x600" << "640x320",SD_SIZE); gr->setFixedHeight(fh); // 録画フレームレート gr = _MGR(row, MKU8("\xe9\x8c\xb2\xe7\x94\xbb\xe3\x83\x95\xe3\x83\xac\xe3\x83\xbc\xe3\x83\xa0\xe3\x83\xac\xe3\x83\xbc\xe3\x83\x88"), rowLayout, QStringList() << "20 fps" << "25 fps" << "30 fps",SD_FRAME); gr->setFixedHeight(fh); // 音量調整 gr = _MGR(row, MKU8("\xe9\x9f\xb3\xe9\x87\x8f\xe8\xaa\xbf\xe6\x95\xb4") + " ", rowLayout, QStringList() << "0" << "1" << "2" << "3" << "4" << "5", SD_VOLUME); gr->setFixedHeight(fh); // ボイス gr = _MGR(row, MKU8("\xe3\x83\x9c\xe3\x82\xa4\xe3\x82\xb9") + " ", rowLayout, QStringList() << MKU8("\xe3\x82\xaa\xe3\x83\x95") << MKU8("\xe3\x82\xaa\xe3\x83\xb3"), SD_VOICE); gr->setFixedHeight(fh); time = new RMSettingTime(row); rowLayout->addWidget(time); } void WindowSettings66::afterSave() { if(time->check->isChecked()) { time->onSave(); } } //------------------------------------------------------------- // XDR-88 WindowSettings88::WindowSettings88(QWidget *parent) : WindowSettings(parent) { _wwidth = 800; _wheight = 550; setFixedSize(_wwidth,_wheight); _createRowA(); _createRowB(); } QVBoxLayout* WindowSettings88::_createRow(QWidget** rw) { *rw = new QWidget(_contentWidget); (*rw)->setFixedWidth((_wwidth-(8*4))/2); layout->addWidget(*rw); QVBoxLayout* l = new QVBoxLayout(*rw); l->setMargin(0); l->setSpacing(4); l->setAlignment(Qt::AlignTop); return l; } void WindowSettings88::_createRowA() { QWidget* row = NULL; QVBoxLayout* rowLayout = NULL; QLabel* tl; RMRadioButtons* rb; rowLayout = _createRow(&row); // システム QGroupBox* g = new QGroupBox(row); g->setObjectName("settings"); rowLayout->addWidget(g); const int lbWidth = 130; const int cWidth = 150; const int rWidth = 220; g->setTitle(MKU8("\xe3\x82\xb7\xe3\x82\xb9\xe3\x83\x86\xe3\x83\xa0")); QGridLayout* gl = new QGridLayout(g); gl->setMargin(8); gl->setSpacing(4); g->setFixedHeight(160); // 画面表示 // 1分後画面OFF // 常時ON // 1分後時計画面 // RMComboBox* RMSettingsWindowBase::_MC(QWidget *parent,QString title,QLayout* layout, QStringList items,int type,QList indexMap,QLabel** titleLabel) RMComboBox* tc; tc = _MC(g, MKU8("\xe7\x94\xbb\xe9\x9d\xa2\xe8\xa1\xa8\xe7\xa4\xba"), gl, QStringList() << MKU8("\x31\xe5\x88\x86\xe5\xbe\x8c\xe7\x94\xbb\xe9\x9d\xa2\x4f\x46\x46") \ << MKU8("\xe5\xb8\xb8\xe6\x99\x82\x4f\x4e") \ << MKU8("\x31\xe5\x88\x86\xe5\xbe\x8c\xe6\x99\x82\xe8\xa8\x88\xe7\x94\xbb\xe9\x9d\xa2"), SD88_SCREEN_SAVEER, QList(),&tl); tl->setFixedWidth(lbWidth); tc->comboBox->setFixedWidth(cWidth); // 録画画面 // フロント // リア // フロント/リア // リア/フロント tc = _MC(g, MKU8("\xe9\x8c\xb2\xe7\x94\xbb\xe7\x94\xbb\xe9\x9d\xa2"), gl, QStringList() << FM_WSTR(L"フロント") << FM_WSTR(L"サブ") << FM_WSTR(L"フロント/サブ") << FM_WSTR(L"サブ/フロント"), SD88_SCREEN_PIP, QList(),&tl); tl->setFixedWidth(lbWidth); tc->comboBox->setFixedWidth(cWidth); // スピーカー音量 tc = _MC(g, MKU8("\xe3\x82\xb9\xe3\x83\x94\xe3\x83\xbc\xe3\x82\xab\xe3\x83\xbc\xe9\x9f\xb3\xe9\x87\x8f"), gl, QStringList() << "Off" << "1" << "2" << "3" << "4" << "5", SD88_SPEAKER, QList(),&tl); tl->setFixedWidth(lbWidth); tc->comboBox->setFixedWidth(cWidth); // MIC rb = _MR(g,FM_WSTR(L"録音設定"),gl,gEOffOn,SD88_MIC,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); // GROUP 2 STORAGE, メモリ割当 g = new QGroupBox(row); g->setObjectName("settings"); rowLayout->addWidget(g); g->setTitle(MKU8("\xe3\x83\xa1\xe3\x83\xa2\xe3\x83\xaa\xe5\x89\xb2\xe5\xbd\x93")); g->setFixedHeight(89); gl = new QGridLayout(g); gl->setMargin(8); gl->setSpacing(4); // メモリ割当情報 // 常時録画重視 // 駐車録画重視 // イベント録画重視 tc = _MC(g, MKU8("\xe3\x83\xa1\xe3\x83\xa2\xe3\x83\xaa\xe5\x89\xb2\xe5\xbd\x93\xe6\x83\x85\xe5\xa0\xb1"), gl, QStringList() << MKU8("\xe5\xb8\xb8\xe6\x99\x82\xe9\x8c\xb2\xe7\x94\xbb\xe9\x87\x8d\xe8\xa6\x96") \ << MKU8("\xe9\xa7\x90\xe8\xbb\x8a\xe9\x8c\xb2\xe7\x94\xbb\xe9\x87\x8d\xe8\xa6\x96") \ << MKU8("\xe3\x82\xa4\xe3\x83\x99\xe3\x83\xb3\xe3\x83\x88\xe9\x8c\xb2\xe7\x94\xbb\xe9\x87\x8d\xe8\xa6\x96"), SD88_VOLUME, QList(),&tl); tl->setFixedWidth(lbWidth); tc->comboBox->setFixedWidth(cWidth); // GROUP 3 G-SENSOR, センサー感度 g = new QGroupBox(row); g->setObjectName("settings"); rowLayout->addWidget(g); g->setTitle(MKU8("\xe3\x82\xbb\xe3\x83\xb3\xe3\x82\xb5\xe3\x83\xbc\xe6\x84\x9f\xe5\xba\xa6")); g->setFixedHeight(120); gl = new QGridLayout(g); gl->setMargin(8); gl->setSpacing(4); // 常時センサー感度 //QStringList sensors = QStringList() << "Low" << "Middle-Low" << "Middle" << "Middle-High" << "High"; QStringList sensors = QStringList() << "1" << "2" << "3" << "4" << "5"; tc = _MC(g, MKU8("\xe5\xb8\xb8\xe6\x99\x82\xe3\x82\xbb\xe3\x83\xb3\xe3\x82\xb5\xe3\x83\xbc\xe6\x84\x9f\xe5\xba\xa6"), gl, sensors, SD88_GSENSOR_NORMAL, QList(),&tl); tl->setFixedWidth(lbWidth); tc->comboBox->setFixedWidth(cWidth); // 駐車センサー感度 tc = _MC(g, MKU8("\xe9\xa7\x90\xe8\xbb\x8a\xe3\x82\xbb\xe3\x83\xb3\xe3\x82\xb5\xe3\x83\xbc\xe6\x84\x9f\xe5\xba\xa6"), gl, sensors, SD88_GSENSOR_PARKING, QList(),&tl); tl->setFixedWidth(lbWidth); tc->comboBox->setFixedWidth(cWidth); // GROUP 4 PARKING MODE, 駐車録画 g = new QGroupBox(row); g->setObjectName("settings"); rowLayout->addWidget(g); g->setTitle(MKU8("\xe9\xa7\x90\xe8\xbb\x8a\xe9\x8c\xb2\xe7\x94\xbb")); gl = new QGridLayout(g); gl->setMargin(8); gl->setSpacing(4); //駐車録画機能 rb = _MR(g,MKU8("\xe9\xa7\x90\xe8\xbb\x8a\xe9\x8c\xb2\xe7\x94\xbb\xe6\xa9\x9f\xe8\x83\xbd"),gl,gEOffOn,SD88_PARKING_ON,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); rb->setFixedHeight(45); // 放電遮断電圧 /* tl = new QLabel(this); tl->setObjectName("text_normal_label"); tl->setText(MKU8("\xe6\x94\xbe\xe9\x9b\xbb\xe9\x81\xae\xe6\x96\xad\xe9\x9b\xbb\xe5\x9c\xa7")); gl->addWidget(tl,1,0,Qt::AlignLeft); */ } void WindowSettings88::_createRowB() { QWidget* row = NULL; QVBoxLayout* rowLayout = NULL; QLabel* tl; RMRadioButtons* rb; const int lbWidth = 130; //const int cWidth = 150; const int rWidth = 220; rowLayout = _createRow(&row); //int fh = 55; QGroupBox* g; QGridLayout* gl; //暗証番号暗証番号設定OFF 0 ON暗証番号変更暗証番号設定をONにしているとき暗証番号変更(4桁)の入力が可能。 // GROUP 5 VIDEO, 録画設定 g = new QGroupBox(row); g->setObjectName("settings"); rowLayout->addWidget(g); g->setTitle(MKU8("\xe9\x8c\xb2\xe7\x94\xbb\xe8\xa8\xad\xe5\xae\x9a")); g->setFixedHeight(220); gl = new QGridLayout(g); gl->setMargin(8); gl->setSpacing(4); // 解像度 rb = _MR(g,MKU8("\xe8\xa7\xa3\xe5\x83\x8f\xe5\xba\xa6"),gl,QStringList() << "FHD" << "HD",SD88_VIDEO_RESOLUTION,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); // 画質 // 低 // 中 // 高 /* 2021/11/22 수정제거 rb = _MR(g,MKU8("\xe7\x94\xbb\xe8\xb3\xaa"),gl,QStringList() << MKU8("\xe4\xbd\x8e") << MKU8("\xe4\xb8\xad") << MKU8("\xe9\xab\x98"),SD88_VIDEO_QUALITY,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); */ // 録画フレーム数 rb = _MR(g,MKU8("\xe9\x8c\xb2\xe7\x94\xbb\xe3\x83\x95\xe3\x83\xac\xe3\x83\xbc\xe3\x83\xa0\xe6\x95\xb0"),gl,QStringList() << "4.9 fps" << "19.1 fps" << "29.1 fps",SD88_VIDEO_FRAME,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); // サブカメラ録画 rb = _MR(g,MKU8("\xe3\x82\xb5\xe3\x83\x96\xe3\x82\xab\xe3\x83\xa1\xe3\x83\xa9\xe9\x8c\xb2\xe7\x94\xbb"),gl,gEOffOn,SD88_VIDEO_SUB_CAMERA,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); // HDR rb = _MR(g,"HDR",gl,gEOffOn,SD88_VIDEO_HDR,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); // ナイトビジョン rb = _MR(g,MKU8("\xe3\x83\x8a\xe3\x82\xa4\xe3\x83\x88\xe3\x83\x93\xe3\x82\xb8\xe3\x83\xa7\xe3\x83\xb3"),gl,gEOffOn,SD88_VIDEO_NIGHT_VISION,QList(),&tl);; tl->setFixedWidth(lbWidth); rb->setFixedWidth(rWidth); // 관리자 암호 설정도 저장 pw = new RMSettingAdminPW(&CFG::data[SD88_ADMIN_PW],(QList() << 1 << 0), row); rowLayout->addWidget(pw); //time = new RMSettingTime(row); //time->setFixedHeight(100); //rowLayout->addWidget(time); } void WindowSettings88::afterSave() { // if(time->check->isChecked()) { // time->onSave(); // } #if (REMOVE_ADMIN_PW_CHECKBOX) // 저장 if(CFG::data[SD88_ADMIN_PW] == 0) { // pw->buttons.at(1)->isChecked()) { #else if(pw->saveCheckbox->isChecked()) { #endif pw->onSave(); } //qInfo() << __FUNCTION__; } #endif // #if (USE_DEVICE_SETTINGS) #endif // #if (RM_MODEL)