mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2026-02-04 21:24:34 +01:00
Implemented a new 'Announcements' buffer to view instance-wide news. Features include: - New buffer and UI panel for announcements. - Support for templates and rendering of announcement content. - 'Dismiss' functionality (mapped to Enter/Return) to mark announcements as read. - Integrated into account settings for buffer management.
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
import wx
|
|
from multiplatform_widgets import widgets
|
|
|
|
class announcementsPanel(wx.Panel):
|
|
|
|
def set_focus_function(self, f):
|
|
self.list.list.Bind(wx.EVT_LIST_ITEM_FOCUSED, f)
|
|
|
|
def create_list(self):
|
|
self.list = widgets.list(self, _("Announcement"), style=wx.LC_REPORT|wx.LC_SINGLE_SEL|wx.LC_VRULES)
|
|
self.list.set_windows_size(0, 800)
|
|
self.list.set_size()
|
|
|
|
def __init__(self, parent, name):
|
|
super(announcementsPanel, self).__init__(parent)
|
|
self.name = name
|
|
self.type = "baseBuffer"
|
|
self.sizer = wx.BoxSizer(wx.VERTICAL)
|
|
self.create_list()
|
|
self.dismiss = wx.Button(self, -1, _("Dismiss"))
|
|
btnSizer = wx.BoxSizer(wx.HORIZONTAL)
|
|
btnSizer.Add(self.dismiss, 0, wx.ALL, 5)
|
|
self.sizer.Add(btnSizer, 0, wx.ALL, 5)
|
|
self.sizer.Add(self.list.list, 1, wx.ALL|wx.EXPAND, 5)
|
|
self.SetSizer(self.sizer)
|
|
self.SetClientSize(self.sizer.CalcMin())
|
|
|
|
def set_position(self, reversed=False):
|
|
if reversed == False:
|
|
self.list.select_item(self.list.get_count()-1)
|
|
else:
|
|
self.list.select_item(0)
|
|
|
|
def set_focus_in_list(self):
|
|
self.list.list.SetFocus()
|