Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions i18n/MouseClick_en_US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,21 @@
<source>Set Max Random Interval</source>
<translation>Set Max Random Interval</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="184"/>
<source>Random Click Offset</source>
<translation>Random Click Offset</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="209"/>
<source>Set Max Random Offset</source>
<translation>Set Max Random Offset</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="214"/>
<source> px</source>
<translation> px</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="176"/>
<source>Memory Configuration</source>
Expand Down
15 changes: 15 additions & 0 deletions i18n/MouseClick_zh_CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,21 @@
<source>Set Max Random Interval</source>
<translation>最大随机时间</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="184"/>
<source>Random Click Offset</source>
<translation>随机点击偏移</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="209"/>
<source>Set Max Random Offset</source>
<translation>最大随机偏移</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="214"/>
<source> px</source>
<translation> 像素</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="176"/>
<source>Memory Configuration</source>
Expand Down
15 changes: 15 additions & 0 deletions i18n/MouseClick_zh_TW.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,21 @@
<source>Set Max Random Interval</source>
<translation>最大隨機時間</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="184"/>
<source>Random Click Offset</source>
<translation>隨機點擊偏移</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="209"/>
<source>Set Max Random Offset</source>
<translation>最大隨機偏移</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="214"/>
<source> px</source>
<translation> 像素</translation>
</message>
<message>
<location filename="../src/modules/nav_pages/mouseclickpage.cpp" line="176"/>
<source>Memory Configuration</source>
Expand Down
79 changes: 77 additions & 2 deletions src/modules/nav_pages/mouseclickpage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <QLineEdit>
#include <QPushButton>
#include <QRadioButton>
#include <QSpinBox>
#include <QThread>

#include "../../utils/clicker.h"
Expand Down Expand Up @@ -153,14 +154,73 @@ MouseClickPage::MouseClickPage(const QString& title, SettingsPage& settings_page
random_interval_time->setMinimum(0.02);
random_interval_time->setSingleStep(0.01);
random_interval_time->setValue(app_settings.RandomIntervalTime());
random_interval_time->setEnabled(false);
random_interval_time->setEnabled(random_interval_toggle_btn->isChecked());

if (random_interval_toggle_btn->isChecked()) {
interval_time->setEnabled(false);
}

random_interval_time_content_layout->addWidget(random_interval_time_desc);
random_interval_time_content_layout->addWidget(random_interval_time);
random_interval_time_content->setLayout(random_interval_time_content_layout);

/********************/

QWidget* random_offset_toggle_content = new QWidget(page_content);
random_offset_toggle_content->setFixedHeight(pageContentUniformHeight);

QHBoxLayout* random_offset_toggle_content_layout = new QHBoxLayout(random_offset_toggle_content);
random_offset_toggle_content_layout->setSpacing(0);
random_offset_toggle_content_layout->setContentsMargins(QMargins());

QLabel* random_offset_toggle_desc = new QLabel(random_offset_toggle_content);
random_offset_toggle_desc->setObjectName(QStringLiteral("random-offset-toggle-desc"));
random_offset_toggle_desc->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
random_offset_toggle_desc->setFocusPolicy(Qt::NoFocus);
random_offset_toggle_desc->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
random_offset_toggle_desc->setText(tr("Random Click Offset"));

QRadioButton* random_offset_toggle_btn = new QRadioButton(random_offset_toggle_content);
random_offset_toggle_btn->setObjectName(QStringLiteral("random-offset-toggle-btn"));
random_offset_toggle_btn->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
random_offset_toggle_btn->setChecked(app_settings.EnableRandomOffset());

random_offset_toggle_content_layout->addWidget(random_offset_toggle_desc);
random_offset_toggle_content_layout->addWidget(random_offset_toggle_btn);
random_offset_toggle_content->setLayout(random_offset_toggle_content_layout);

/********************/

QWidget* random_offset_distance_content = new QWidget(page_content);
random_offset_distance_content->setFixedHeight(pageContentUniformHeight);

QHBoxLayout* random_offset_distance_content_layout = new QHBoxLayout(random_offset_distance_content);
random_offset_distance_content_layout->setSpacing(0);
random_offset_distance_content_layout->setContentsMargins(QMargins());

QLabel* random_offset_distance_desc = new QLabel(random_offset_distance_content);
random_offset_distance_desc->setObjectName(QStringLiteral("random-offset-distance-desc"));
random_offset_distance_desc->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
random_offset_distance_desc->setFocusPolicy(Qt::NoFocus);
random_offset_distance_desc->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
random_offset_distance_desc->setText(tr("Set Max Random Offset"));

QSpinBox* random_offset_distance = new QSpinBox(random_offset_distance_content);
random_offset_distance->setObjectName(QStringLiteral("random-offset-distance"));
random_offset_distance->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
random_offset_distance->setSuffix(tr(" px"));
random_offset_distance->setMaximum(1000);
random_offset_distance->setMinimum(0);
random_offset_distance->setSingleStep(1);
random_offset_distance->setValue(app_settings.RandomOffsetDistance());
random_offset_distance->setEnabled(random_offset_toggle_btn->isChecked());

random_offset_distance_content_layout->addWidget(random_offset_distance_desc);
random_offset_distance_content_layout->addWidget(random_offset_distance);
random_offset_distance_content->setLayout(random_offset_distance_content_layout);

/********************/

QWidget* memory_configuration_toggle_content = new QWidget(page_content);
memory_configuration_toggle_content->setFixedHeight(pageContentUniformHeight);

Expand Down Expand Up @@ -190,6 +250,8 @@ MouseClickPage::MouseClickPage(const QString& title, SettingsPage& settings_page
page_content_layout->addWidget(interval_time_content);
page_content_layout->addWidget(random_interval_toggle_content);
page_content_layout->addWidget(random_interval_time_content);
page_content_layout->addWidget(random_offset_toggle_content);
page_content_layout->addWidget(random_offset_distance_content);
page_content_layout->addWidget(memory_configuration_toggle_content);
page_content_layout->addStretch();

Expand All @@ -210,6 +272,12 @@ MouseClickPage::MouseClickPage(const QString& title, SettingsPage& settings_page
});

connect(random_interval_time, &QDoubleSpinBox::valueChanged, &SettingsAgent::instance(), &SettingsAgent::setRandomIntervalTime);
connect(random_offset_toggle_btn, &QRadioButton::toggled, random_offset_distance, [random_offset_distance](bool checked) {
random_offset_distance->setEnabled(checked);
SettingsAgent::instance().setEnableRandomOffset(checked);
});

connect(random_offset_distance, &QSpinBox::valueChanged, &SettingsAgent::instance(), &SettingsAgent::setRandomOffsetDistance);
connect(memory_configuration_toggle_btn, &QRadioButton::toggled, &SettingsAgent::instance(), &SettingsAgent::setEnableMemoryConfiguration);

// hotkey event
Expand All @@ -223,6 +291,8 @@ MouseClickPage::MouseClickPage(const QString& title, SettingsPage& settings_page
interval_time->setEnabled(!random_interval_toggle_btn->isChecked());
random_interval_toggle_btn->setEnabled(true);
random_interval_time->setEnabled(random_interval_toggle_btn->isChecked());
random_offset_toggle_btn->setEnabled(true);
random_offset_distance->setEnabled(random_offset_toggle_btn->isChecked());
memory_configuration_toggle_btn->setEnabled(true);
} else {
Qt::MouseButton btn_type;
Expand All @@ -239,14 +309,19 @@ MouseClickPage::MouseClickPage(const QString& title, SettingsPage& settings_page
int interval = static_cast<int>(interval_time->value() * 1000); // 转为毫秒值
bool random_interval_flag = random_interval_toggle_btn->isChecked();
int max_random_interval = static_cast<int>(random_interval_time->value() * 1000); // 转为毫秒值
bool random_offset_flag = random_offset_toggle_btn->isChecked();
int max_random_offset = random_offset_distance->value(); // 像素值

NavPage::_clicker->initParameters(btn_type, interval, random_interval_flag, max_random_interval);
NavPage::_clicker->initParameters(btn_type, interval, random_interval_flag, max_random_interval,
random_offset_flag, max_random_offset);
NavPage::_clicker_thread->start(); // Note: This should be initiated through a sub-thread.

click_type_list->setEnabled(false);
interval_time->setEnabled(false);
random_interval_toggle_btn->setEnabled(false);
random_interval_time->setEnabled(false);
random_offset_toggle_btn->setEnabled(false);
random_offset_distance->setEnabled(false);
memory_configuration_toggle_btn->setEnabled(false);
}
});
Expand Down
32 changes: 32 additions & 0 deletions src/modules/settingsagent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,26 @@ void SettingsAgent::setRandomIntervalTime(const double random_interval_time)
_config["RandomIntervalTime"] = random_interval_time;
}

bool SettingsAgent::EnableRandomOffset() const
{
return _config["EnableRandomOffset"].toBool();
}

void SettingsAgent::setEnableRandomOffset(bool enable_random_offset)
{
_config["EnableRandomOffset"] = enable_random_offset;
}

int SettingsAgent::RandomOffsetDistance() const
{
return _config["RandomOffsetDistance"].toInt();
}

void SettingsAgent::setRandomOffsetDistance(const int random_offset_distance)
{
_config["RandomOffsetDistance"] = random_offset_distance;
}

bool SettingsAgent::EnableMemoryConfiguration() const
{
return _config["EnableMemoryConfiguration"].toBool();
Expand Down Expand Up @@ -159,6 +179,8 @@ SettingsAgent::SettingsAgent(QObject *parent)
_config["IntervalTime"] = settings.value("IntervalTime", _DEFAULT_INTERVALTIME);
_config["EnableRandomInterval"] = settings.value("EnableRandomInterval", _DEFAULT_RANDOMINTERVAL);
_config["RandomIntervalTime"] = settings.value("RandomIntervalTime", _DEFAULT_RANDOMINTERVALTIME);
_config["EnableRandomOffset"] = settings.value("EnableRandomOffset", _DEFAULT_RANDOMOFFSET);
_config["RandomOffsetDistance"] = settings.value("RandomOffsetDistance", _DEFAULT_RANDOMOFFSETDISTANCE);
_config["EnableMemoryConfiguration"] = settings.value("EnableMemoryConfiguration", _DEFAULT_MEMORYCONFIGURATION);
settings.endGroup();

Expand Down Expand Up @@ -187,6 +209,12 @@ SettingsAgent::SettingsAgent(QObject *parent)
if (!_config["RandomIntervalTime"].isValid() || _config["RandomIntervalTime"].metaType().id() == QMetaType::UnknownType) {
_config["RandomIntervalTime"] = _DEFAULT_RANDOMINTERVALTIME;
}
if (!_config["EnableRandomOffset"].isValid() || _config["EnableRandomOffset"].metaType().id() == QMetaType::UnknownType) {
_config["EnableRandomOffset"] = _DEFAULT_RANDOMOFFSET;
}
if (!_config["RandomOffsetDistance"].isValid() || _config["RandomOffsetDistance"].metaType().id() == QMetaType::UnknownType) {
_config["RandomOffsetDistance"] = _DEFAULT_RANDOMOFFSETDISTANCE;
}
if (!_config["EnableMemoryConfiguration"].isValid() || _config["EnableMemoryConfiguration"].metaType().id() == QMetaType::UnknownType) {
_config["EnableMemoryConfiguration"] = _DEFAULT_MEMORYCONFIGURATION;
}
Expand Down Expand Up @@ -214,6 +242,8 @@ SettingsAgent::SettingsAgent(QObject *parent)
_config["IntervalTime"] = _DEFAULT_INTERVALTIME;
_config["EnableRandomInterval"] = _DEFAULT_RANDOMINTERVAL;
_config["RandomIntervalTime"] = _DEFAULT_RANDOMINTERVALTIME;
_config["EnableRandomOffset"] = _DEFAULT_RANDOMOFFSET;
_config["RandomOffsetDistance"] = _DEFAULT_RANDOMOFFSETDISTANCE;
}


Expand Down Expand Up @@ -245,6 +275,8 @@ SettingsAgent::~SettingsAgent()
settings.setValue("IntervalTime", _config["IntervalTime"]);
settings.setValue("EnableRandomInterval", _config["EnableRandomInterval"]);
settings.setValue("RandomIntervalTime", _config["RandomIntervalTime"]);
settings.setValue("EnableRandomOffset", _config["EnableRandomOffset"]);
settings.setValue("RandomOffsetDistance", _config["RandomOffsetDistance"]);
settings.setValue("EnableMemoryConfiguration", _config["EnableMemoryConfiguration"]);
settings.endGroup();
}
8 changes: 8 additions & 0 deletions src/modules/settingsagent.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ class SettingsAgent : public QObject
double RandomIntervalTime() const;
void setRandomIntervalTime(const double random_interval_time);

bool EnableRandomOffset() const;
void setEnableRandomOffset(bool enable_random_offset);

int RandomOffsetDistance() const;
void setRandomOffsetDistance(const int random_offset_distance);

bool EnableMemoryConfiguration() const;
void setEnableMemoryConfiguration(bool memory_configuration);
/***********************************/
Expand Down Expand Up @@ -76,6 +82,8 @@ class SettingsAgent : public QObject
const double _DEFAULT_INTERVALTIME = 0.01;
const bool _DEFAULT_RANDOMINTERVAL = false;
const double _DEFAULT_RANDOMINTERVALTIME = 0.02;
const bool _DEFAULT_RANDOMOFFSET = false;
const int _DEFAULT_RANDOMOFFSETDISTANCE = 0;
const bool _DEFAULT_MEMORYCONFIGURATION = false;
};

Expand Down
Loading