403 lines
12 KiB
C++
403 lines
12 KiB
C++
#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 <QComboBox>
|
||
#include <QGridLayout>
|
||
#include <QDir>
|
||
#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<int> 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<int>(),&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<int>(),&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<int>(),&tl);
|
||
tl->setFixedWidth(lbWidth);
|
||
tc->comboBox->setFixedWidth(cWidth);
|
||
|
||
// MIC
|
||
rb = _MR(g,FM_WSTR(L"録音設定"),gl,gEOffOn,SD88_MIC,QList<int>(),&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<int>(),&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<int>(),&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<int>(),&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<int>(),&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<int>(),&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<int>(),&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<int>(),&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<int>(),&tl);;
|
||
tl->setFixedWidth(lbWidth);
|
||
rb->setFixedWidth(rWidth);
|
||
|
||
// HDR
|
||
rb = _MR(g,"HDR",gl,gEOffOn,SD88_VIDEO_HDR,QList<int>(),&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<int>(),&tl);;
|
||
tl->setFixedWidth(lbWidth);
|
||
rb->setFixedWidth(rWidth);
|
||
|
||
// 관리자 암호 설정도 저장
|
||
pw = new RMSettingAdminPW(&CFG::data[SD88_ADMIN_PW],(QList<int>() << 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)
|
||
|