-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b767bb3
commit 47c16e6
Showing
26 changed files
with
6,758 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
from PyQt5.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QPushButton,QMessageBox | ||
from PyQt5.QtGui import QIcon | ||
from PyQt5.QtCore import Qt,pyqtSignal,QSize | ||
|
||
from functools import partial | ||
|
||
# simple message according a choice | ||
class FreeWill(QMessageBox): | ||
def __init__(self, parent, message, action,logger=None): | ||
super().__init__(parent) | ||
self.setIcon(QMessageBox.Warning) | ||
self.setWindowTitle("Confirmation") | ||
self.setText(message) | ||
self.setStandardButtons(QMessageBox.Yes | QMessageBox.No) | ||
self.setDefaultButton(QMessageBox.No) | ||
self.action = action | ||
|
||
self.logger = logger | ||
self.selected_theme = None | ||
|
||
self.setWindowIcon(QIcon(self.logger.ressource_path("assets/ico/autoclicker.png"))) | ||
def exec_and_call_action(self): | ||
result = self.exec_() | ||
if result == QMessageBox.Yes: | ||
self.action() | ||
elif result == QMessageBox.No: | ||
pass | ||
|
||
|
||
|
||
# Message to display before closing the program during a loop | ||
class tripleChoice(QMessageBox): | ||
def __init__(self, parent, message, action_yes, action_no, custom_action_text, custom_action,logger=None): | ||
super().__init__(parent) | ||
|
||
self.logger = logger | ||
self.selected_theme = None | ||
|
||
self.setWindowIcon(QIcon(self.logger.ressource_path("assets/ico/autoclicker.png"))) | ||
|
||
self.setIcon(QMessageBox.Warning) | ||
self.setWindowTitle("Loop Warning") | ||
self.setText(message) | ||
|
||
self.yes_button = self.addButton("Yes", QMessageBox.YesRole) | ||
self.no_button = self.addButton("No", QMessageBox.NoRole) | ||
self.custom_button = self.addButton(custom_action_text, QMessageBox.RejectRole) | ||
|
||
self.action_yes = action_yes | ||
self.action_no = action_no | ||
self.custom_action = custom_action | ||
|
||
|
||
def exec_and_call_actions(self): | ||
result = self.exec_() | ||
|
||
if self.clickedButton() == self.yes_button: | ||
self.action_yes() | ||
return True | ||
elif self.clickedButton() == self.no_button: | ||
self.action_no() | ||
return True | ||
elif self.clickedButton() == self.custom_button: | ||
self.custom_action() | ||
return True | ||
|
||
return False | ||
|
||
|
||
|
||
|
||
# Theme configuration | ||
class ThemeSelector(QDialog): | ||
|
||
theme_selected = pyqtSignal(int) # signal to refresh themes on title bar | ||
|
||
def __init__(self, parent=None, logger=None): | ||
super().__init__(parent) | ||
|
||
self.logger = logger | ||
self.selected_theme = None | ||
|
||
self.setWindowIcon(QIcon(self.logger.ressource_path("assets/ico/autoclicker.png"))) | ||
|
||
self.setWindowTitle("Themes") | ||
|
||
# Hide context help button | ||
self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) | ||
|
||
self.init_ui() | ||
|
||
|
||
def on_theme_button_clicked(self, theme_id): | ||
self.selected_theme = theme_id | ||
self.theme_selected.emit(theme_id) | ||
self.accept() | ||
|
||
|
||
def init_ui(self): | ||
# Fisrt we make a vertical grid | ||
layout = QVBoxLayout() | ||
|
||
# Add buttons for each theme | ||
for i in range(1, 6): | ||
# Create a horizontal layout for the theme row | ||
theme_layout = QHBoxLayout() | ||
|
||
# Add an image button for the theme | ||
theme_button = QPushButton(self) | ||
image_path = self.logger.ressource_path(f"assets/ico/theme{i}.png") | ||
theme_button.setIcon(QIcon(image_path)) | ||
theme_button.setIconSize(QSize(108, 108)) | ||
theme_button.clicked.connect(partial(self.on_theme_button_clicked, i)) | ||
theme_layout.addWidget(theme_button) | ||
|
||
# Add the theme row layout to the dialog layout | ||
layout.addLayout(theme_layout) | ||
|
||
# Set the dialog layout | ||
self.setLayout(layout) | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
TUTORIEL | ||
|
||
|
||
1. Usage / features : | ||
|
||
- Zoom : You can use ctrl + /- or scroll to zoom the whole app. | ||
|
||
- You can resize window by dragging the right downs ide corner. | ||
|
||
|
||
|
||
|
||
2. Tables : | ||
|
||
o Save & load : You can save and load script in file .txt that you can easily modify with a text editor. | ||
|
||
o Delay : Set an amount of time to play the actions | ||
|
||
o Click | double click | move : You have to position with the position button or set it manually . Move = move the mouse without clicking | ||
|
||
o Press : Press the choosen key, then in text you can set also how much you would like to press that key. | ||
|
||
o Combo : Make a combo until 5 keys pressed in the same time. | ||
|
||
o Scroll : Positive value for upside, and downside for the negative one. You can also record the frame (don't forget to stop it). | ||
|
||
o Text : Type a text without a limit of characters, but you will better do to use combo to copy paste big amounts from a text file. | ||
|
||
o Keywords : for website like github asking you to press keys to add keywords, so you can put a list of words separate by coma (and comas only), then set another key you would like to use for new separator. | ||
|
||
o Wait : just wait the delay time | ||
|
||
o Time machine modulator : Upgrade or downgrade all delays | ||
|
||
o Reach infinity by ticking the checkbox, and escape the loop by pressing F8 or simply choose the number of loop in the spinbox, you can do both but why would you do that ? | ||
|
||
o Nanosecond entropy injector : Probably the reason why you are here, this feature can set a new random amount of time between each actions 1 sec = 100 frames. | ||
|
||
|
||
|
||
|
||
3. Recorder : | ||
|
||
With this feature you can record and replay the action you made without using tables, then press F8 key to stop the replay. Don't forget to reset all events before starting to record another loop ! | ||
|
||
|
||
|
||
4. Overlay : | ||
|
||
The overlay can display an image front of all where you can click through your windowed app or games, you can for example use the image to win a pixel war, this tool is also downloadable, separate from the autoclicker here : https://github.com/SECRET-GUEST/Layer-one | ||
|
||
Once the image is set, you can change its opacity or use the configure section to resize the picture , or give it a position . | ||
|
||
|
||
5. Hidden features | ||
|
||
Click on the weird logo and see. | ||
|
||
|
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.