Removed crash sending system for Windows.
--HG-- branch : develop
This commit is contained in:
parent
71649ccf2a
commit
b19cb9aee7
|
@ -15,6 +15,7 @@
|
|||
- [#750] Info Box Beside Mouse.
|
||||
- [#634] New feature: Fabric manager.
|
||||
- [#731] Improve tab Increments. Separate the tab on two: Increments and Preview Calculation.
|
||||
- Removed crash sending system for Windows.
|
||||
|
||||
# Version 0.5.1
|
||||
- [#683] Tool Seam allowance's dialog is off screen on small resolutions.
|
||||
|
|
BIN
dist/win/curl.exe
vendored
BIN
dist/win/curl.exe
vendored
Binary file not shown.
BIN
dist/win/dbghelp.dll
vendored
BIN
dist/win/dbghelp.dll
vendored
Binary file not shown.
BIN
dist/win/exchndl.dll
vendored
BIN
dist/win/exchndl.dll
vendored
Binary file not shown.
2
dist/win/inno/valentina.iss
vendored
2
dist/win/inno/valentina.iss
vendored
|
@ -219,8 +219,6 @@ Source: ".\valentina\*.dll"; DestDir: "{app}"
|
|||
Source: ".\valentina\*.txt"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: ".\valentina\*.rcc"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: ".\valentina\*.ico"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: ".\valentina\*.dbg"; DestDir: "{app}"; Flags: ignoreversion skipifsourcedoesntexist
|
||||
Source: ".\valentina\*.yes"; DestDir: "{app}"; Flags: ignoreversion skipifsourcedoesntexist
|
||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||
; DLL used to check if the target program is running at install time
|
||||
|
||||
|
|
BIN
dist/win/mgwhelp.dll
vendored
BIN
dist/win/mgwhelp.dll
vendored
Binary file not shown.
BIN
dist/win/symsrv.dll
vendored
BIN
dist/win/symsrv.dll
vendored
Binary file not shown.
1
dist/win/symsrv.yes
vendored
1
dist/win/symsrv.yes
vendored
|
@ -1 +0,0 @@
|
|||
|
|
@ -298,9 +298,6 @@ CONFIG(release, debug|release){
|
|||
noDebugSymbols{ # For enable run qmake with CONFIG+=noDebugSymbols
|
||||
DEFINES += V_NO_DEBUG
|
||||
} else {
|
||||
noCrashReports{
|
||||
DEFINES += V_NO_DEBUG
|
||||
}
|
||||
# Turn on debug symbols in release mode on Unix systems.
|
||||
# On Mac OS X temporarily disabled. Need find way how to strip binary file.
|
||||
!macx:!*msvc*{
|
||||
|
|
|
@ -242,12 +242,6 @@ inline void noisyFailureMsgHandler(QtMsgType type, const QMessageLogContext &con
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#if defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
const QString VApplication::GistFileName = QStringLiteral("gist.json");
|
||||
#endif // defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
|
||||
#define DefWidth 1.2//mm
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -552,12 +546,6 @@ void VApplication::ClearOldLogs() const
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VApplication::InitOptions()
|
||||
{
|
||||
#if defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
// Catch and send report
|
||||
VApplication::DrMingw();
|
||||
this->CollectReports();
|
||||
#endif
|
||||
|
||||
// Run creation log after sending crash report
|
||||
StartLogging();
|
||||
|
||||
|
@ -605,9 +593,6 @@ void VApplication::StartLogging()
|
|||
{
|
||||
BeginLogging();
|
||||
ClearOldLogs();
|
||||
#if defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
ClearOldReports();
|
||||
#endif // defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -709,292 +694,3 @@ const VCommandLinePtr VApplication::CommandLine() const
|
|||
{
|
||||
return VCommandLine::instance;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#if defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VApplication::ClearOldReports() const
|
||||
{
|
||||
const QString reportsDir = QString("%1/reports").arg(qApp->applicationDirPath());
|
||||
QDir reports(reportsDir);
|
||||
if (reports.exists())
|
||||
{
|
||||
QStringList filters{"*.log", "*.RPT"};
|
||||
QDir logsDir(reportsDir);
|
||||
logsDir.setNameFilters(filters);
|
||||
logsDir.setCurrent(reportsDir);
|
||||
|
||||
const QStringList allFiles = logsDir.entryList(QDir::NoDotAndDotDot | QDir::Files);
|
||||
if (allFiles.isEmpty() == false)
|
||||
{
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
for (int i = 0; i < allFiles.size(); ++i)
|
||||
{
|
||||
QFileInfo info(allFiles.at(i));
|
||||
if (info.created().daysTo(now) > 30)
|
||||
{
|
||||
QFile(allFiles.at(i)).remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VApplication::GatherLogs() const
|
||||
{
|
||||
QTextStream *out = nullptr;
|
||||
QFile *log = new QFile(QString("%1/valentina.log").arg(LogDirPath()));
|
||||
if (log->open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text))
|
||||
{
|
||||
out = new QTextStream(log);
|
||||
|
||||
QStringList filters{"*.log"};
|
||||
QDir logsDir(LogDirPath());
|
||||
logsDir.setNameFilters(filters);
|
||||
logsDir.setCurrent(LogDirPath());
|
||||
|
||||
const QStringList allFiles = logsDir.entryList(QDir::NoDotAndDotDot | QDir::Files);
|
||||
if (allFiles.isEmpty() == false)
|
||||
{
|
||||
for (int i = 0, sz = allFiles.size(); i < sz; ++i)
|
||||
{
|
||||
auto fn = allFiles.at(i);
|
||||
QFileInfo info(fn);
|
||||
if (info.fileName() == "valentina.log")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
VLockGuard<QFile> tmp(info.absoluteFilePath(), [&fn](){return new QFile(fn);});
|
||||
|
||||
if (tmp.IsLocked())
|
||||
{
|
||||
*out <<"--------------------------" << endl;
|
||||
if (tmp.GetProtected()->open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
{
|
||||
QTextStream in(tmp.GetProtected().get());
|
||||
while (!in.atEnd())
|
||||
{
|
||||
*out << in.readLine() << endl;
|
||||
}
|
||||
tmp.GetProtected()->close();
|
||||
}
|
||||
else
|
||||
{
|
||||
*out << "Log file error:" + tmp.GetProtected()->errorString() << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qCDebug(vApp, "Failed to lock %s", qUtf8Printable(info.absoluteFilePath()));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*out << "Could not find logs.";
|
||||
}
|
||||
log->close();
|
||||
}
|
||||
delete out;
|
||||
delete log;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
// Catch exception and create report. Use if program build with Mingw compiler.
|
||||
// See more about catcher https://github.com/jrfonseca/drmingw/blob/master/README.md
|
||||
void VApplication::DrMingw()
|
||||
{
|
||||
QFile drmingw("exchndl.dll");
|
||||
if (drmingw.exists())
|
||||
{// If don't want create reports just delete exchndl.dll from installer
|
||||
LoadLibrary(L"exchndl.dll");
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VApplication::CollectReports() const
|
||||
{
|
||||
// Seek file "binary_name.RPT"
|
||||
const QString reportName = QString("%1/%2.RPT").arg(applicationDirPath())
|
||||
.arg(QFileInfo(arguments().at(0)).baseName());
|
||||
QFile reportFile(reportName);
|
||||
if (reportFile.exists())
|
||||
{ // Hooray we have found crash
|
||||
if (settings == nullptr)
|
||||
{
|
||||
return;// Settings was not opened.
|
||||
}
|
||||
|
||||
if (settings->GetSendReportState())
|
||||
{ // Try send report
|
||||
// Remove gist.json file before close app.
|
||||
connect(this, &VApplication::aboutToQuit, this, &VApplication::CleanGist, Qt::UniqueConnection);
|
||||
SendReport(reportName);
|
||||
}
|
||||
else
|
||||
{ // Just collect report to /reports directory
|
||||
CollectReport(reportName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VApplication::CollectReport(const QString &reportName) const
|
||||
{
|
||||
const QString reportsDir = QString("%1/reports").arg(qApp->applicationDirPath());
|
||||
QDir reports(reportsDir);
|
||||
if (reports.exists() == false)
|
||||
{
|
||||
reports.mkpath("."); // Create directory for reports if need
|
||||
}
|
||||
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
const QString timestamp = now.toString(QLatin1String("yyyy.MM.dd-hh_mm_ss"));
|
||||
QString filename = QString("%1/reports/crash-%2.RPT").arg(qApp->applicationDirPath()).arg(timestamp);
|
||||
|
||||
QFile reportFile(reportName);
|
||||
reportFile.copy(filename); // Collect new crash
|
||||
reportFile.remove(); // Clear after yourself
|
||||
|
||||
filename = QString("%1/reports/log-%2.log").arg(qApp->applicationDirPath()).arg(timestamp);
|
||||
GatherLogs();
|
||||
QFile logFile(QString("%1/valentina.log").arg(LogDirPath()));
|
||||
logFile.copy(filename); // Collect log
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VApplication::CleanGist() const
|
||||
{
|
||||
QFile gistFile(GistFileName);
|
||||
if (gistFile.exists())
|
||||
{
|
||||
gistFile.remove();
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VApplication::SendReport(const QString &reportName) const
|
||||
{
|
||||
QString content;
|
||||
QFile reportFile(reportName);
|
||||
if (reportFile.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
{
|
||||
content = ReadFileForSending(reportFile);
|
||||
reportFile.close();
|
||||
}
|
||||
else
|
||||
{
|
||||
content = "RPT file error:" + reportFile.errorString() + "\r\n";
|
||||
}
|
||||
|
||||
// Additional information
|
||||
content.append(QString("-------------------------------")+"\r\n");
|
||||
content.append(QString("Version:%1").arg(APP_VERSION)+"\r\n");
|
||||
content.append(QString("Build revision:%1").arg(BUILD_REVISION)+"\r\n");
|
||||
content.append(QString("Based on Qt %1 (32 bit)").arg(QT_VERSION_STR)+"\r\n");
|
||||
content.append(QString("Built on %1 at %2").arg(__DATE__).arg(__TIME__)+"\r\n");
|
||||
content.append(QString("Web site:https://valentinaproject.bitbucket.io/ ")+"\r\n");
|
||||
content.append("\r\n");
|
||||
|
||||
// Creating json with report
|
||||
// Example:
|
||||
//{
|
||||
// "description":"Crash report",
|
||||
// "public":"true",
|
||||
// "files":{
|
||||
// "valentina.RPT":{
|
||||
// "content":"Report text here"
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
// Useful to know when crash was created
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
const QString timestamp = now.toString(QLatin1String("yyyy/MM/dd hh:mm:ss:zzz"));
|
||||
const QString report = QString("Crash report was created %2").arg(timestamp);
|
||||
|
||||
QJsonObject reportObject;
|
||||
reportObject.insert(QStringLiteral("description"), QJsonValue(report));
|
||||
reportObject.insert(QStringLiteral("public"), QJsonValue(QString("true")));
|
||||
|
||||
content.append(QString("\r\n-------------------------------\r\n"));
|
||||
content.append(QString("Log:")+"\r\n");
|
||||
|
||||
GatherLogs();
|
||||
QFile logFile(QString("%1/valentina.log").arg(LogDirPath()));
|
||||
if (logFile.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
{
|
||||
const QString logContent = ReadFileForSending(logFile);
|
||||
if (logContent.isEmpty())
|
||||
{
|
||||
content.append("Log file is empty.");
|
||||
}
|
||||
else
|
||||
{
|
||||
content.append(logContent);
|
||||
}
|
||||
logFile.close();
|
||||
}
|
||||
else
|
||||
{
|
||||
content.append("\r\n Log file error:" + logFile.errorString() + "\r\n");
|
||||
}
|
||||
|
||||
const QString contentSection = QStringLiteral("content");
|
||||
QJsonObject contentObject;
|
||||
contentObject.insert(contentSection, QJsonValue(content));
|
||||
|
||||
const QString filesSection = QStringLiteral("files");
|
||||
QJsonObject fileObject;
|
||||
fileObject.insert(QFileInfo(reportName).fileName(), QJsonValue(contentObject));
|
||||
reportObject.insert(filesSection, QJsonValue(fileObject));
|
||||
|
||||
QFile gistFile(GistFileName);
|
||||
if (!gistFile.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text))
|
||||
{
|
||||
qDebug("Couldn't open gist file.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Save data to file
|
||||
QJsonDocument saveRep(reportObject);
|
||||
gistFile.write(saveRep.toJson());
|
||||
gistFile.close();
|
||||
|
||||
const QString curl = QString("%1/curl.exe").arg(qApp->applicationDirPath());
|
||||
QFile curlFile(curl);
|
||||
if (curlFile.exists())
|
||||
{// Trying send report
|
||||
// Change token if need
|
||||
const QStringList token = QStringList()<<"eb"<<"78"<<"63"<<"4e"<<"de"<<"77"<<"f7"<<"e6"<<"01"<<"4a"<<"c3"<<"60"
|
||||
<<"96"<<"b0"<<"2d"<<"54"<<"fb"<<"8e"<<"af"<<"ec";
|
||||
|
||||
const QString arg = QString("curl.exe -k -H \"Authorization: bearer ")+token.join("")+
|
||||
QString("\" -H \"Accept: application/json\" -H \"Content-type: application/json\" -X POST "
|
||||
"--data @gist.json https://api.github.com/gists");
|
||||
QProcess proc;
|
||||
proc.start(arg);
|
||||
proc.waitForFinished(10000); // 10 sec
|
||||
reportFile.remove();// Clear after yourself
|
||||
}
|
||||
else
|
||||
{// We can not send than just collect
|
||||
CollectReport(reportName);
|
||||
}
|
||||
curlFile.close();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QString VApplication::ReadFileForSending(QFile &file) const
|
||||
{
|
||||
QString content;
|
||||
QTextStream in(&file);
|
||||
while (!in.atEnd())
|
||||
{
|
||||
content.append(in.readLine()+"\r\n");// Windows end of line
|
||||
}
|
||||
return content;
|
||||
}
|
||||
#endif //defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
|
|
|
@ -70,10 +70,6 @@ public:
|
|||
|
||||
virtual const VTranslateVars *TrVars() Q_DECL_OVERRIDE;
|
||||
|
||||
#if defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
static void DrMingw();
|
||||
void CollectReports() const;
|
||||
#endif // defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
bool static IsGUIMode();
|
||||
virtual bool IsAppInGUIMode() const Q_DECL_OVERRIDE;
|
||||
|
||||
|
@ -84,11 +80,6 @@ protected:
|
|||
virtual void InitTrVars() Q_DECL_OVERRIDE;
|
||||
virtual bool event(QEvent *e) Q_DECL_OVERRIDE;
|
||||
|
||||
private slots:
|
||||
#if defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
void CleanGist() const;
|
||||
#endif // defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(VApplication)
|
||||
VTranslateVars *trVars;
|
||||
|
@ -97,16 +88,6 @@ private:
|
|||
std::shared_ptr<VLockGuard<QFile>> lockLog;
|
||||
std::shared_ptr<QTextStream> out;
|
||||
|
||||
#if defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
static const QString GistFileName;
|
||||
|
||||
void CollectReport(const QString &reportName) const;
|
||||
void SendReport(const QString &reportName) const;
|
||||
QString ReadFileForSending(QFile &file)const;
|
||||
void ClearOldReports()const;
|
||||
void GatherLogs()const;
|
||||
#endif // defined(Q_OS_WIN) && defined(Q_CC_GNU)
|
||||
|
||||
QString LogDirPath()const;
|
||||
QString LogPath()const;
|
||||
bool CreateLogDir()const;
|
||||
|
|
|
@ -98,13 +98,6 @@ PreferencesConfigurationPage::PreferencesConfigurationPage(QWidget *parent)
|
|||
{
|
||||
ui->systemCombo->setCurrentIndex(index);
|
||||
}
|
||||
//---------------------- Send crash reports
|
||||
ui->sendReportCheck->setChecked(qApp->ValentinaSettings()->GetSendReportState());
|
||||
ui->description = new QLabel(tr("After each crash Valentina collects information that may help us fix the "
|
||||
"problem. We do not collect any personal information. Find more about what %1"
|
||||
"kind of information%2 we collect.")
|
||||
.arg("<a href=\"https://wiki.valentinaproject.org/wiki/UserManual:Crash_reports\">")
|
||||
.arg("</a>"));
|
||||
|
||||
//----------------------------- Pattern Editing
|
||||
connect(ui->resetWarningsButton, &QPushButton::released, []()
|
||||
|
@ -138,7 +131,6 @@ void PreferencesConfigurationPage::Apply()
|
|||
ui->autoSaveCheck->isChecked() ? autoSaveTimer->start(ui->autoTime->value()*60000) : autoSaveTimer->stop();
|
||||
|
||||
settings->SetOsSeparator(ui->osOptionCheck->isChecked());
|
||||
settings->SetSendReportState(ui->sendReportCheck->isChecked());
|
||||
settings->SetToolBarStyle(ui->toolBarStyleCheck->isChecked());
|
||||
|
||||
if (m_langChanged || m_systemChanged)
|
||||
|
@ -211,9 +203,4 @@ void PreferencesConfigurationPage::InitUnits()
|
|||
void PreferencesConfigurationPage::RetranslateUi()
|
||||
{
|
||||
ui->osOptionCheck->setText(tr("With OS options") + QString(" (%1)").arg(QLocale().decimalPoint()));
|
||||
ui->description->setText(tr("After each crash Valentina collects information that may help us fix the "
|
||||
"problem. We do not collect any personal information. Find more about what %1"
|
||||
"kind of information%2 we collect.")
|
||||
.arg("<a href=\"https://wiki.valentinaproject.org/wiki/UserManual:Crash_reports\">")
|
||||
.arg("</a>"));
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>501</width>
|
||||
<height>640</height>
|
||||
<height>559</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -168,44 +168,6 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="title">
|
||||
<string>Send crash reports</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="sendReportCheck">
|
||||
<property name="text">
|
||||
<string>Send crash reports (recommended)</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="description">
|
||||
<property name="text">
|
||||
<string notr="true">TextLabel</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="title">
|
||||
|
|
|
@ -81,9 +81,6 @@ CONFIG(release, debug|release){
|
|||
noDebugSymbols{ # For enable run qmake with CONFIG+=noDebugSymbols
|
||||
DEFINES += V_NO_DEBUG
|
||||
} else {
|
||||
noCrashReports{
|
||||
DEFINES += V_NO_DEBUG
|
||||
}
|
||||
# Turn on debug symbols in release mode on Unix systems.
|
||||
# On Mac OS X temporarily disabled. Need find way how to strip binary file.
|
||||
!macx:!*msvc*{
|
||||
|
@ -301,20 +298,6 @@ win32:*g++* {
|
|||
$$[QT_INSTALL_BINS]/libstdc++-6.dll \
|
||||
$$[QT_INSTALL_BINS]/libwinpthread-1.dll
|
||||
|
||||
!noDebugSymbols:!noCrashReports{
|
||||
package.files += \
|
||||
$${OUT_PWD}/$${DESTDIR}/valentina.exe.dbg \
|
||||
$${OUT_PWD}/../tape/$${DESTDIR}/tape.exe.dbg \
|
||||
$$PWD/../../../dist/win/exchndl.dll \
|
||||
$$PWD/../../../dist/win/dbghelp.dll \
|
||||
$$PWD/../../../dist/win/mgwhelp.dll \
|
||||
$$PWD/../../../dist/win/symsrv.dll \
|
||||
$$PWD/../../../dist/win/symsrv.yes \
|
||||
$${OUT_PWD}/../../libs/qmuparser/$${DESTDIR}/qmuparser2.dll.dbg \
|
||||
$${OUT_PWD}/../../libs/vpropertyexplorer/$${DESTDIR}/vpropertyexplorer.dll.dbg \
|
||||
$$PWD/../../../dist/win/curl.exe
|
||||
}
|
||||
|
||||
package.CONFIG = no_check_exist
|
||||
INSTALLS += package
|
||||
|
||||
|
|
|
@ -55,7 +55,6 @@ const QString settingPathsLabelTemplate = QStringLiteral("paths/labels"
|
|||
const QString settingConfigurationOsSeparator = QStringLiteral("configuration/osSeparator");
|
||||
const QString settingConfigurationAutosaveState = QStringLiteral("configuration/autosave/state");
|
||||
const QString settingConfigurationAutosaveTime = QStringLiteral("configuration/autosave/time");
|
||||
const QString settingConfigurationSendReportState = QStringLiteral("configuration/send_report/state");
|
||||
const QString settingConfigurationLocale = QStringLiteral("configuration/locale");
|
||||
const QString settingPMSystemCode = QStringLiteral("configuration/pmscode");
|
||||
const QString settingConfigurationUnit = QStringLiteral("configuration/unit");
|
||||
|
@ -393,18 +392,6 @@ void VCommonSettings::SetAutosaveTime(const int &value)
|
|||
setValue(settingConfigurationAutosaveTime, value);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
bool VCommonSettings::GetSendReportState() const
|
||||
{
|
||||
return value(settingConfigurationSendReportState, 1).toBool();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VCommonSettings::SetSendReportState(const bool &value)
|
||||
{
|
||||
setValue(settingConfigurationSendReportState, value);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QString VCommonSettings::GetLocale() const
|
||||
{
|
||||
|
|
|
@ -79,9 +79,6 @@ public:
|
|||
int GetAutosaveTime() const;
|
||||
void SetAutosaveTime(const int &value);
|
||||
|
||||
bool GetSendReportState() const;
|
||||
void SetSendReportState(const bool &value);
|
||||
|
||||
QString GetLocale() const;
|
||||
void SetLocale(const QString &value);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user