Added "Activate Selected Server" in server menu

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
This commit is contained in:
Loren Eteval
2026-04-05 00:53:23 +08:00
parent f547c16aa2
commit 7682b586ee
2 changed files with 43 additions and 2 deletions
+8
View File
@@ -1842,5 +1842,13 @@ TRANSLATION = {
"RU": "Введите URL теста состояния сети:",
"ZH": "输入网络状态测试URL:",
"isReviewed": "True"
},
"Activate Selected Server": {
"source": [
"Furious.Widget.UserServersQTableWidget"
],
"RU": "Активировать выбранный сервер",
"ZH": "激活选定的服务器",
"isReviewed": "True"
}
}
+35 -2
View File
@@ -906,6 +906,14 @@ class UserServersQTableWidget(Mixins.QTranslatable, AppQTableWidget):
checkable=False,
)
self.activateSelectedServerActionRef = AppQAction(
_('Activate Selected Server'),
callback=lambda: self.activateSelectedServer(),
shortcut=QtCore.QKeyCombination(
QtCore.Qt.Key.Key_Enter,
),
)
contextMenuActions = [
AppQAction(
_('Move Up'),
@@ -944,6 +952,7 @@ class UserServersQTableWidget(Mixins.QTranslatable, AppQTableWidget):
),
),
AppQSeperator(),
self.activateSelectedServerActionRef,
AppQAction(
_('Scroll To Activated Server'),
callback=lambda: self.scrollToActivatedItem(),
@@ -1081,9 +1090,17 @@ class UserServersQTableWidget(Mixins.QTranslatable, AppQTableWidget):
@QtCore.Slot()
def handleItemSelectionChanged(self):
if len(self.selectedIndex) > 1:
self.customizeJSONConfigActionRef.setDisabled(True)
for action in [
self.customizeJSONConfigActionRef,
self.activateSelectedServerActionRef,
]:
action.setDisabled(True)
else:
self.customizeJSONConfigActionRef.setDisabled(False)
for action in [
self.customizeJSONConfigActionRef,
self.activateSelectedServerActionRef,
]:
action.setDisabled(False)
@QtCore.Slot(QTableWidgetItem)
def handleItemActivated(self, item: QTableWidgetItem):
@@ -1619,6 +1636,22 @@ class UserServersQTableWidget(Mixins.QTranslatable, AppQTableWidget):
)
self.textEditorWindow.show()
def activateSelectedServer(self):
indexes = self.selectedIndex
if len(indexes) == 0:
# Nothing selected. Do nothing
return
if len(indexes) != 1:
# Should not reach here
return
item = self.item(indexes[0], 0)
if item is not None:
self.handleItemActivated(item)
def scrollToActivatedItem(self):
activatedItem = self.activatedItem()