bans - untested
parent
37541db07d
commit
741adcdf18
@ -0,0 +1,23 @@
|
||||
|
||||
|
||||
class GroupBan:
|
||||
|
||||
def __init__(self, ban_id, ban_target, ban_time):
|
||||
self._ban_id = ban_id
|
||||
self._ban_target = ban_target
|
||||
self._ban_time = ban_time
|
||||
|
||||
def get_ban_id(self):
|
||||
return self._ban_id
|
||||
|
||||
ban_id = property(get_ban_id)
|
||||
|
||||
def get_ban_target(self):
|
||||
return self._ban_target
|
||||
|
||||
ban_target = property(get_ban_target)
|
||||
|
||||
def get_ban_time(self):
|
||||
return self._ban_time
|
||||
|
||||
ban_time = property(get_ban_time)
|
@ -0,0 +1,62 @@
|
||||
from ui.widgets import CenteredWidget
|
||||
from PyQt5 import uic, QtWidgets, QtCore
|
||||
import utils.util as util
|
||||
import utils.ui as util_ui
|
||||
|
||||
|
||||
class GroupBanItem(QtWidgets.QWidget):
|
||||
|
||||
def __init__(self, ban, cancel_ban, parent=None):
|
||||
super().__init__(parent)
|
||||
self._ban = ban
|
||||
self._cancel_ban = cancel_ban
|
||||
|
||||
def _update_ui(self):
|
||||
self._retranslate_ui()
|
||||
|
||||
self.banTargetLabel.setText(self._ban.target)
|
||||
ban_time = self._ban.ban_time
|
||||
self.banTimeLabel.setText(util.unix_time_to_long_str(ban_time))
|
||||
|
||||
self.cancelPushButton.clicked.connect(self._cancel_ban)
|
||||
|
||||
def _retranslate_ui(self):
|
||||
self.cancelPushButton.setText(util_ui.tr('Cancel ban'))
|
||||
|
||||
def _cancel_ban(self):
|
||||
self._cancel_ban(self._ban.ban_id)
|
||||
|
||||
|
||||
class GroupBansScreen(CenteredWidget):
|
||||
|
||||
def __init__(self, groups_service, group):
|
||||
super().__init__()
|
||||
self._groups_service = groups_service
|
||||
self._group = group
|
||||
|
||||
uic.loadUi(util.get_views_path('bans_list_screen'), self)
|
||||
self._update_ui()
|
||||
|
||||
def _update_ui(self):
|
||||
self._retranslate_ui()
|
||||
|
||||
self._refresh_bans_list()
|
||||
|
||||
def _retranslate_ui(self):
|
||||
self.setWindowTitle(util_ui.tr('Bans list for group "{}"').format(self._group.name))
|
||||
|
||||
def _refresh_bans_list(self):
|
||||
self.bansListWidget.clear()
|
||||
for ban in self._group.bans:
|
||||
self._create_ban_item(ban)
|
||||
|
||||
def _create_ban_item(self, ban):
|
||||
item = GroupBanItem(ban, self._on_ban_cancelled, self.bansListWidget)
|
||||
elem = QtWidgets.QListWidgetItem()
|
||||
elem.setSizeHint(QtCore.QSize(item.width(), item.height()))
|
||||
self.bansListWidget.addItem(elem)
|
||||
self.bansListWidget.setItemWidget(elem, item)
|
||||
|
||||
def _on_ban_cancelled(self, ban_id):
|
||||
self._groups_service.cancel_ban(self._group.number, ban_id)
|
||||
self._refresh_bans_list()
|
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>500</width>
|
||||
<height>375</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QListWidget" name="bansListWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>500</width>
|
||||
<height>375</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>500</width>
|
||||
<height>100</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QPushButton" name="cancelPushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>161</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>PushButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="banTargetLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
<width>200</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="banTimeLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>50</y>
|
||||
<width>200</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
Loading…
Reference in New Issue