Files
Work/vidcap/VidReg.cpp
2024-08-07 09:16:27 -04:00

151 lines
3.4 KiB
C++

#include <VidCap/VidReg.hpp>
#include <common/diskinfo.hpp>
VidReg::VidReg(void)
:
mRegKeySettings(RegKey::CurrentUser),
mVidCapKeyName("Software\\Diversified\\VidCap"),
mSettingsKeyName("Software\\Diversified\\VidCap\\Settings"),
mCaptureFile("CaptureFile"),
mSequencing("Sequencing"),
mPreviewWidth("PreviewWidth"),
mPreviewHeight("PreviewHeight"),
mCaptureWidth("CaptureWidth"),
mCaptureHeight("CaptureHeight"),
mPreviewRate("PreviewRate"),
mQuality("Quality")
{
guarantee();
}
VidReg::~VidReg()
{
}
String VidReg::getCaptureFile(void)const
{
String strCaptureFile;
mRegKeySettings.queryValue(mCaptureFile,strCaptureFile);
return strCaptureFile;
}
void VidReg::setCaptureFile(const String &captureFile)
{
mRegKeySettings.setValue(mCaptureFile,captureFile);
}
bool VidReg::getSequencing(void)const
{
String strSequencing;
mRegKeySettings.queryValue(mSequencing,strSequencing);
if(strSequencing==String("true"))return true;
return false;
}
void VidReg::setSequencing(bool sequencing)
{
String strSequencing=sequencing?"true":"false";
mRegKeySettings.setValue(mSequencing,strSequencing);
}
DWORD VidReg::getPreviewRate(void)const
{
String strPreviewRate;
mRegKeySettings.queryValue(mPreviewRate,strPreviewRate);
return strPreviewRate.toInt();
}
void VidReg::setPreviewRate(DWORD previewRate)
{
mRegKeySettings.setValue(mPreviewRate,String().fromInt(previewRate));
}
DWORD VidReg::getPreviewWidth(void)const
{
String strPreviewWidth;
mRegKeySettings.queryValue(mPreviewWidth,strPreviewWidth);
return strPreviewWidth.toInt();
}
void VidReg::setPreviewWidth(DWORD previewWidth)
{
mRegKeySettings.setValue(mPreviewWidth,String().fromInt(previewWidth));
}
DWORD VidReg::getPreviewHeight(void)const
{
String strPreviewHeight;
mRegKeySettings.queryValue(mPreviewHeight,strPreviewHeight);
return strPreviewHeight.toInt();
}
void VidReg::setPreviewHeight(DWORD previewHeight)
{
mRegKeySettings.setValue(mPreviewHeight,String().fromInt(previewHeight));
}
DWORD VidReg::getCaptureWidth(void)const
{
String strCaptureWidth;
mRegKeySettings.queryValue(mCaptureWidth,strCaptureWidth);
return strCaptureWidth.toInt();
}
void VidReg::setCaptureWidth(DWORD captureWidth)
{
mRegKeySettings.setValue(mCaptureWidth,String().fromInt(captureWidth));
}
DWORD VidReg::getCaptureHeight(void)const
{
String strCaptureHeight;
mRegKeySettings.queryValue(mCaptureHeight,strCaptureHeight);
return strCaptureHeight.toInt();
}
void VidReg::setCaptureHeight(DWORD captureHeight)
{
mRegKeySettings.setValue(mCaptureHeight,String().fromInt(captureHeight));
}
DWORD VidReg::getQuality(void)const
{
String strQuality;
mRegKeySettings.queryValue(mQuality,strQuality);
return strQuality.toInt();
}
void VidReg::setQuality(DWORD quality)
{
mRegKeySettings.setValue(mQuality,String().fromInt(quality));
}
void VidReg::guarantee(void)
{
if(!mRegKeySettings.openKey(mSettingsKeyName))
{
DiskInfo diskInfo;
String strCaptureFile;
diskInfo.getCurrentDirectory(strCaptureFile);
strCaptureFile+="\\capture.jpg";
mRegKeySettings.createKey(mSettingsKeyName,"");
mRegKeySettings.openKey(mSettingsKeyName);
setCaptureFile(strCaptureFile);
setSequencing(true);
setPreviewWidth(320);
setPreviewHeight(240);
setCaptureWidth(320);
setCaptureHeight(240);
setPreviewRate(250);
setQuality(100);
}
}
bool VidReg::isOkay(void)const
{
return mRegKeySettings.isOkay();
}