Edits to fast reg update
This commit is contained in:
parent
d66be255d3
commit
7d999a9f01
1 changed files with 86 additions and 7 deletions
|
@ -4240,6 +4240,42 @@ class EditorPage(Page):
|
||||||
# Establecer el ícono girado en el botón
|
# Establecer el ícono girado en el botón
|
||||||
prev_button.setIcon(QIcon(rotated_icon))
|
prev_button.setIcon(QIcon(rotated_icon))
|
||||||
prev_button.setIconSize(prev_button.size())
|
prev_button.setIconSize(prev_button.size())
|
||||||
|
print('the key is: ', key)
|
||||||
|
print('the connection manager is synced: ', self.connection_manager.is_synced())
|
||||||
|
if (key == 'location' or key == 'browser') and not self.connection_manager.is_synced():
|
||||||
|
w = prev_button.width()
|
||||||
|
h = prev_button.height()
|
||||||
|
outline_pix = QPixmap(w, h)
|
||||||
|
outline_pix.fill(Qt.GlobalColor.transparent)
|
||||||
|
painter = QPainter(outline_pix)
|
||||||
|
painter.setRenderHint(QPainter.RenderHint.Antialiasing)
|
||||||
|
pen = QtGui.QPen(QColor(0, 255, 0))
|
||||||
|
pen.setWidth(3)
|
||||||
|
painter.setPen(pen)
|
||||||
|
painter.setBrush(Qt.BrushStyle.NoBrush)
|
||||||
|
left_points = [QPointF(w*0.65, h*0.15), QPointF(w*0.25, h*0.50), QPointF(w*0.65, h*0.85)]
|
||||||
|
painter.drawPolygon(QtGui.QPolygonF(left_points))
|
||||||
|
painter.end()
|
||||||
|
prev_button.setIcon(QIcon(outline_pix))
|
||||||
|
prev_button.setIconSize(prev_button.size())
|
||||||
|
|
||||||
|
# Apply green styling for location and browser buttons to indicate sync requirement
|
||||||
|
if (key == 'location' or key == 'browser') and not self.connection_manager.is_synced():
|
||||||
|
prev_button.setStyleSheet("""
|
||||||
|
QPushButton {
|
||||||
|
background-color: transparent;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
QPushButton:hover {
|
||||||
|
background-color: rgba(0, 255, 0, 0.1);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
QPushButton:pressed {
|
||||||
|
background-color: rgba(0, 255, 0, 0.2);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
""")
|
||||||
|
|
||||||
self.buttons.append(prev_button)
|
self.buttons.append(prev_button)
|
||||||
|
|
||||||
# Botón para mostrar el valor siguiente
|
# Botón para mostrar el valor siguiente
|
||||||
|
@ -4250,6 +4286,40 @@ class EditorPage(Page):
|
||||||
self.buttons.append(next_button)
|
self.buttons.append(next_button)
|
||||||
next_button.setIcon(QIcon( os.path.join(self.btn_path, f"UP_button.png")))
|
next_button.setIcon(QIcon( os.path.join(self.btn_path, f"UP_button.png")))
|
||||||
next_button.setIconSize(next_button.size())
|
next_button.setIconSize(next_button.size())
|
||||||
|
if (key == 'location' or key == 'browser') and not self.connection_manager.is_synced():
|
||||||
|
w = next_button.width()
|
||||||
|
h = next_button.height()
|
||||||
|
outline_pix_r = QPixmap(w, h)
|
||||||
|
outline_pix_r.fill(Qt.GlobalColor.transparent)
|
||||||
|
painter_r = QPainter(outline_pix_r)
|
||||||
|
painter_r.setRenderHint(QPainter.RenderHint.Antialiasing)
|
||||||
|
pen_r = QtGui.QPen(QColor(0, 255, 0))
|
||||||
|
pen_r.setWidth(3)
|
||||||
|
painter_r.setPen(pen_r)
|
||||||
|
painter_r.setBrush(Qt.BrushStyle.NoBrush)
|
||||||
|
right_points = [QPointF(w*0.35, h*0.15), QPointF(w*0.75, h*0.50), QPointF(w*0.35, h*0.85)]
|
||||||
|
painter_r.drawPolygon(QtGui.QPolygonF(right_points))
|
||||||
|
painter_r.end()
|
||||||
|
next_button.setIcon(QIcon(outline_pix_r))
|
||||||
|
next_button.setIconSize(next_button.size())
|
||||||
|
|
||||||
|
# Apply green styling for location and browser buttons to indicate sync requirement
|
||||||
|
if (key == 'location' or key == 'browser') and not self.connection_manager.is_synced():
|
||||||
|
next_button.setStyleSheet("""
|
||||||
|
QPushButton {
|
||||||
|
background-color: transparent;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
QPushButton:hover {
|
||||||
|
background-color: rgba(0, 255, 0, 0.1);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
QPushButton:pressed {
|
||||||
|
background-color: rgba(0, 255, 0, 0.2);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
""")
|
||||||
|
|
||||||
prev_button.setVisible(True)
|
prev_button.setVisible(True)
|
||||||
next_button.setVisible(True)
|
next_button.setVisible(True)
|
||||||
if key == 'protocol' or (protocol == 'wireguard' and key == 'connection'):
|
if key == 'protocol' or (protocol == 'wireguard' and key == 'connection'):
|
||||||
|
@ -4531,7 +4601,7 @@ class Settings(Page):
|
||||||
menu_items = [
|
menu_items = [
|
||||||
("Overview", self.show_account_page),
|
("Overview", self.show_account_page),
|
||||||
("Subscriptions", self.show_subscription_page),
|
("Subscriptions", self.show_subscription_page),
|
||||||
("Registrations", self.show_registrations_page),
|
("Create/Edit", self.show_registrations_page),
|
||||||
("Delete Profile", self.show_delete_page),
|
("Delete Profile", self.show_delete_page),
|
||||||
("Error Logs", self.show_logs_page)
|
("Error Logs", self.show_logs_page)
|
||||||
]
|
]
|
||||||
|
@ -4897,6 +4967,12 @@ class Settings(Page):
|
||||||
self.subscription_info[key] = value_label
|
self.subscription_info[key] = value_label
|
||||||
|
|
||||||
layout.addWidget(subscription_group)
|
layout.addWidget(subscription_group)
|
||||||
|
|
||||||
|
clipboard_hint = QLabel("💡 Click on the billing code to copy it to clipboard")
|
||||||
|
clipboard_hint.setStyleSheet(f"color: #666666; font-size: 11px; font-style: italic; {self.font_style}")
|
||||||
|
clipboard_hint.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||||
|
layout.addWidget(clipboard_hint)
|
||||||
|
|
||||||
layout.addStretch()
|
layout.addStretch()
|
||||||
|
|
||||||
self.profile_selector.currentIndexChanged.connect(self.update_subscription_info)
|
self.profile_selector.currentIndexChanged.connect(self.update_subscription_info)
|
||||||
|
@ -5247,11 +5323,11 @@ class Settings(Page):
|
||||||
registrations_group.setStyleSheet(f"QGroupBox {{ color: white; padding: 15px; {self.font_style} }}")
|
registrations_group.setStyleSheet(f"QGroupBox {{ color: white; padding: 15px; {self.font_style} }}")
|
||||||
registrations_layout = QVBoxLayout(registrations_group)
|
registrations_layout = QVBoxLayout(registrations_group)
|
||||||
|
|
||||||
self.enable_auto_sync = QCheckBox("Enable auto-sync")
|
self.enable_auto_sync = QCheckBox("Enable auto-sync on Edit")
|
||||||
self.enable_auto_sync.setStyleSheet(self.get_checkbox_style())
|
self.enable_auto_sync.setStyleSheet(self.get_checkbox_style())
|
||||||
registrations_layout.addWidget(self.enable_auto_sync)
|
registrations_layout.addWidget(self.enable_auto_sync)
|
||||||
|
|
||||||
self.enable_fast_registration = QCheckBox("Enable fast registration")
|
self.enable_fast_registration = QCheckBox("Enable Fast-mode for Profile Creation")
|
||||||
self.enable_fast_registration.setStyleSheet(self.get_checkbox_style())
|
self.enable_fast_registration.setStyleSheet(self.get_checkbox_style())
|
||||||
registrations_layout.addWidget(self.enable_fast_registration)
|
registrations_layout.addWidget(self.enable_fast_registration)
|
||||||
|
|
||||||
|
@ -5264,8 +5340,8 @@ class Settings(Page):
|
||||||
save_button.clicked.connect(self.save_registrations_settings)
|
save_button.clicked.connect(self.save_registrations_settings)
|
||||||
|
|
||||||
button_layout = QHBoxLayout()
|
button_layout = QHBoxLayout()
|
||||||
button_layout.addStretch()
|
|
||||||
button_layout.addWidget(save_button)
|
button_layout.addWidget(save_button)
|
||||||
|
button_layout.addStretch()
|
||||||
layout.addLayout(button_layout)
|
layout.addLayout(button_layout)
|
||||||
|
|
||||||
layout.addStretch()
|
layout.addStretch()
|
||||||
|
@ -6560,7 +6636,7 @@ class FastRegistrationPage(Page):
|
||||||
self.labels = []
|
self.labels = []
|
||||||
self.buttons = []
|
self.buttons = []
|
||||||
self.title.setGeometry(550, 40, 250, 40)
|
self.title.setGeometry(550, 40, 250, 40)
|
||||||
self.title.setText("Fast Registration")
|
self.title.setText("Fast Creation")
|
||||||
|
|
||||||
self.button_apply.setVisible(True)
|
self.button_apply.setVisible(True)
|
||||||
self.button_apply.clicked.connect(self.create_profile)
|
self.button_apply.clicked.connect(self.create_profile)
|
||||||
|
@ -6578,6 +6654,7 @@ class FastRegistrationPage(Page):
|
||||||
self.name_handle.setText("Profile Name:")
|
self.name_handle.setText("Profile Name:")
|
||||||
|
|
||||||
self.name = QLineEdit(self)
|
self.name = QLineEdit(self)
|
||||||
|
self.name.setPlaceholderText("Enter profile name")
|
||||||
self.name.setGeometry(265, 70, 190, 30)
|
self.name.setGeometry(265, 70, 190, 30)
|
||||||
self.name.setStyleSheet("color: cyan; border: transparent;")
|
self.name.setStyleSheet("color: cyan; border: transparent;")
|
||||||
|
|
||||||
|
@ -6967,12 +7044,14 @@ class FastRegistrationPage(Page):
|
||||||
if not self.selected_values['location']:
|
if not self.selected_values['location']:
|
||||||
locations = self.connection_manager.get_location_list()
|
locations = self.connection_manager.get_location_list()
|
||||||
if locations:
|
if locations:
|
||||||
self.selected_values['location'] = locations[0]
|
random_index = random.randint(0, len(locations) - 1)
|
||||||
|
self.selected_values['location'] = locations[random_index]
|
||||||
|
|
||||||
if not self.selected_values['browser']:
|
if not self.selected_values['browser']:
|
||||||
browsers = self.connection_manager.get_browser_list()
|
browsers = self.connection_manager.get_browser_list()
|
||||||
if browsers:
|
if browsers:
|
||||||
self.selected_values['browser'] = browsers[0]
|
random_index = random.randint(0, len(browsers) - 1)
|
||||||
|
self.selected_values['browser'] = browsers[random_index]
|
||||||
|
|
||||||
def get_next_available_profile_id(self) -> int:
|
def get_next_available_profile_id(self) -> int:
|
||||||
profiles = ProfileController.get_all()
|
profiles = ProfileController.get_all()
|
||||||
|
|
Loading…
Reference in a new issue