[Update] Main Window: メッセージ送信ボタンの追加。
設定項目で非表示、表示、表示しつつメッセージ入力欄でのエンターキー送信を無効 を選択可能に。 デフォルトが表示の理由: メッセージ入力欄のプレースホルダーが使えなくなり、初見でどこに入力すればいいのか分かりにくくなったので、横に送信ボタンが付くことにより、よくあるUIとなり、メッセージ入力欄っぽくなる。 その他要らないコードの削除や、corner radius指定し忘れなどの修正あり。
This commit is contained in:
@@ -3,7 +3,7 @@ hold_state_list=[]
|
||||
def _changeMainWindowWidgetsStatus(vrct_gui, settings, view_variable, status, target_names:list, to_hold_state:bool=False):
|
||||
global hold_state_list
|
||||
if target_names == "All":
|
||||
target_names = ["translation_switch", "transcription_send_switch", "transcription_receive_switch", "foreground_switch", "quick_language_settings", "config_button", "minimize_sidebar_button", "entry_message_box"]
|
||||
target_names = ["translation_switch", "transcription_send_switch", "transcription_receive_switch", "foreground_switch", "quick_language_settings", "config_button", "minimize_sidebar_button", "entry_message_box", "send_message_button"]
|
||||
|
||||
|
||||
for item in hold_state_list:
|
||||
@@ -141,13 +141,17 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, view_variable, status, ta
|
||||
|
||||
case "entry_message_box":
|
||||
if status == "disabled":
|
||||
pass
|
||||
vrct_gui.entry_message_box.configure(state="disabled", text_color=settings.ctm.TEXTBOX_ENTRY_TEXT_DISABLED_COLOR)
|
||||
elif status == "normal":
|
||||
pass
|
||||
vrct_gui.entry_message_box.configure(state="normal", text_color=settings.ctm.TEXTBOX_ENTRY_TEXT_COLOR)
|
||||
|
||||
|
||||
case "send_message_button":
|
||||
if status == "disabled":
|
||||
vrct_gui.main_send_message_button__disabled.grid()
|
||||
elif status == "normal":
|
||||
vrct_gui.main_send_message_button__disabled.grid_remove()
|
||||
|
||||
case _:
|
||||
raise ValueError(f"No matching case for target_name: {target_name}")
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ from functools import partial
|
||||
from types import SimpleNamespace
|
||||
from typing import Union
|
||||
|
||||
from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkEntry, CTkSlider, CTkSwitch, CTkCheckBox, CTkProgressBar, CTkImage
|
||||
from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkEntry, CTkSlider, CTkSwitch, CTkCheckBox, CTkProgressBar, CTkImage, CTkRadioButton
|
||||
from CTkToolTip import *
|
||||
|
||||
from vrct_gui.ui_utils import createButtonWithImage, getLatestWidth, createOptionMenuBox, getLatestHeight, bindButtonFunctionAndColor
|
||||
from vrct_gui.ui_utils import createButtonWithImage, getLatestWidth, createOptionMenuBox, getLatestHeight, bindButtonFunctionAndColor, bindEnterAndLeaveFunction, bindButtonReleaseFunction, bindButtonPressFunction
|
||||
from vrct_gui import vrct_gui
|
||||
from utils import isEven, callFunctionIfCallable
|
||||
|
||||
@@ -251,6 +251,81 @@ class _SettingBoxGenerator():
|
||||
|
||||
|
||||
|
||||
# 3 Options
|
||||
def createSettingBoxRadioButtons(
|
||||
self,
|
||||
for_var_label_text, for_var_desc_text,
|
||||
radio_button_attr_name,
|
||||
variable,
|
||||
command,
|
||||
radiobutton_keys_values=dict,
|
||||
):
|
||||
|
||||
(setting_box_frame, setting_box_item_frame) = self._createSettingBoxFrame(radio_button_attr_name, for_var_label_text, for_var_desc_text)
|
||||
|
||||
row=0
|
||||
for key, value in radiobutton_keys_values.items():
|
||||
radiobutton_wrapper = CTkFrame(setting_box_item_frame, corner_radius=6, fg_color=self.settings.ctm.SB__BG_COLOR, width=0, height=0, cursor="hand2")
|
||||
radiobutton_wrapper.grid(row=row, column=0, sticky="ew")
|
||||
row+=1
|
||||
|
||||
radiobutton_wrapper.grid_rowconfigure((0,2), weight=1)
|
||||
setting_box_radio_button = CTkRadioButton(
|
||||
radiobutton_wrapper,
|
||||
textvariable=value,
|
||||
font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.SB__RADIO_BUTTON_FONT_SIZE, weight="normal"),
|
||||
variable=variable,
|
||||
value=key,
|
||||
text_color=self.settings.ctm.SB__RADIOBUTTON_TEXT_COLOR,
|
||||
fg_color=self.settings.ctm.SB__RADIOBUTTON_SELECTED_COLOR,
|
||||
border_color=self.settings.ctm.SB__RADIOBUTTON_BORDER_COLOR,
|
||||
hover=False
|
||||
)
|
||||
setting_box_radio_button.grid(row=1, column=0, padx=10, pady=10, sticky="ew")
|
||||
|
||||
if key == variable.get():
|
||||
setting_box_radio_button.select()
|
||||
|
||||
setting_box_radio_button._canvas.unbind("<Button-1>")
|
||||
setting_box_radio_button._text_label.unbind("<Button-1>")
|
||||
setting_box_radio_button._text_label.grid(padx=(10,0))
|
||||
|
||||
|
||||
def buttonPressedFunction(radiobutton_wrapper, radiobutton_widget, _e):
|
||||
radiobutton_wrapper.configure(fg_color=self.settings.ctm.SB__RADIOBUTTON_BG_CLICKED_COLOR)
|
||||
|
||||
def buttonReleasedFunction(radiobutton_wrapper, radiobutton_widget, _e):
|
||||
radiobutton_wrapper.configure(fg_color=self.settings.ctm.SB__RADIOBUTTON_BG_HOVERED_COLOR)
|
||||
radiobutton_widget.select()
|
||||
command()
|
||||
|
||||
def enterFunction(radiobutton_wrapper, _e):
|
||||
radiobutton_wrapper.configure(fg_color=self.settings.ctm.SB__RADIOBUTTON_BG_HOVERED_COLOR)
|
||||
|
||||
def leaveFunction(radiobutton_wrapper, _e):
|
||||
radiobutton_wrapper.configure(fg_color=self.settings.ctm.SB__BG_COLOR)
|
||||
|
||||
|
||||
bindEnterAndLeaveFunction(
|
||||
target_widgets=[radiobutton_wrapper, setting_box_radio_button, setting_box_radio_button._bg_canvas],
|
||||
enterFunction=partial(enterFunction, radiobutton_wrapper),
|
||||
leaveFunction=partial(leaveFunction, radiobutton_wrapper)
|
||||
)
|
||||
|
||||
bindButtonPressFunction(
|
||||
target_widgets=[radiobutton_wrapper, setting_box_radio_button, setting_box_radio_button._bg_canvas],
|
||||
buttonPressedFunction=partial(buttonPressedFunction, radiobutton_wrapper, setting_box_radio_button)
|
||||
)
|
||||
|
||||
bindButtonReleaseFunction(
|
||||
target_widgets=[radiobutton_wrapper, setting_box_radio_button, setting_box_radio_button._bg_canvas],
|
||||
buttonReleasedFunction=partial(buttonReleasedFunction, radiobutton_wrapper, setting_box_radio_button)
|
||||
)
|
||||
|
||||
|
||||
return setting_box_frame
|
||||
|
||||
|
||||
|
||||
def createSettingBoxAutoExportMessageLogs(
|
||||
self,
|
||||
|
||||
@@ -5,6 +5,7 @@ from .._SettingBoxGenerator import _SettingBoxGenerator
|
||||
def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_variable):
|
||||
sbg = _SettingBoxGenerator(setting_box_wrapper, config_window, settings, view_variable)
|
||||
createSettingBoxCheckbox = sbg.createSettingBoxCheckbox
|
||||
createSettingBoxRadioButtons = sbg.createSettingBoxRadioButtons
|
||||
createSettingBoxAutoExportMessageLogs = sbg.createSettingBoxAutoExportMessageLogs
|
||||
|
||||
|
||||
@@ -14,6 +15,9 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v
|
||||
def checkbox_send_only_translated_messages_callback(checkbox_box_widget):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES, checkbox_box_widget.get())
|
||||
|
||||
def checkbox_send_message_button_type_callback():
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_SEND_MESSAGE_BUTTON_TYPE, view_variable.VAR_SEND_MESSAGE_BUTTON_TYPE.get())
|
||||
|
||||
def checkbox_notice_xsoverlay_callback(checkbox_box_widget):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_NOTICE_XSOVERLAY, checkbox_box_widget.get())
|
||||
|
||||
@@ -48,6 +52,16 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v
|
||||
config_window.sb__send_only_translated_messages.grid(row=row)
|
||||
row+=1
|
||||
|
||||
config_window.sb__send_message_button_type = createSettingBoxRadioButtons(
|
||||
for_var_label_text=view_variable.VAR_LABEL_SEND_MESSAGE_BUTTON_TYPE,
|
||||
for_var_desc_text=view_variable.VAR_DESC_SEND_MESSAGE_BUTTON_TYPE,
|
||||
radio_button_attr_name="sb__radiobutton_send_message_button_type",
|
||||
command=lambda: checkbox_send_message_button_type_callback(),
|
||||
variable=view_variable.VAR_SEND_MESSAGE_BUTTON_TYPE,
|
||||
radiobutton_keys_values=view_variable.KEYS_VALUES_SEND_MESSAGE_BUTTON_TYPE,
|
||||
)
|
||||
config_window.sb__send_message_button_type.grid(row=row)
|
||||
row+=1
|
||||
|
||||
config_window.sb__notice_xsoverlay = createSettingBoxCheckbox(
|
||||
for_var_label_text=view_variable.VAR_LABEL_ENABLE_NOTICE_XSOVERLAY,
|
||||
|
||||
@@ -120,4 +120,4 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
||||
|
||||
createTextbox(settings, vrct_gui, view_variable)
|
||||
|
||||
createEntryMessageBox(settings, vrct_gui)
|
||||
createEntryMessageBox(settings, vrct_gui, view_variable)
|
||||
@@ -1,7 +1,10 @@
|
||||
from customtkinter import CTkFont, CTkFrame, CTkTextbox
|
||||
from customtkinter import CTkFont, CTkFrame, CTkTextbox, CTkLabel, CTkImage
|
||||
|
||||
def createEntryMessageBox(settings, main_window):
|
||||
main_window.main_entry_message_container = CTkFrame(main_window.main_bg_container, corner_radius=0, fg_color=settings.ctm.MAIN_BG_COLOR, width=0, height=0)
|
||||
from ...ui_utils import bindButtonFunctionAndColor
|
||||
from utils import callFunctionIfCallable
|
||||
|
||||
def createEntryMessageBox(settings, main_window, view_variable):
|
||||
main_window.main_entry_message_container = CTkFrame(main_window.main_bg_container, corner_radius=settings.uism.TEXTBOX_ENTRY_CORNER_RADIUS, fg_color=settings.ctm.MAIN_BG_COLOR, width=0, height=0)
|
||||
main_window.main_entry_message_container.grid(row=2, column=0, sticky="nsew")
|
||||
|
||||
|
||||
@@ -9,6 +12,7 @@ def createEntryMessageBox(settings, main_window):
|
||||
main_window.main_entry_message_container.grid_rowconfigure(0, weight=1)
|
||||
main_window.entry_message_box = CTkTextbox(
|
||||
main_window.main_entry_message_container,
|
||||
corner_radius=settings.uism.TEXTBOX_ENTRY_CORNER_RADIUS,
|
||||
border_color=settings.ctm.TEXTBOX_ENTRY_BORDER_COLOR,
|
||||
fg_color=settings.ctm.TEXTBOX_ENTRY_BG_COLOR,
|
||||
text_color=settings.ctm.TEXTBOX_ENTRY_TEXT_COLOR,
|
||||
@@ -31,3 +35,58 @@ def createEntryMessageBox(settings, main_window):
|
||||
|
||||
main_window.entry_message_box.bind("<Any-KeyPress>", messageBoxAnyKeyPress)
|
||||
|
||||
|
||||
main_window.main_send_message_button_container = CTkFrame(main_window.main_entry_message_container, corner_radius=settings.uism.SEND_MESSAGE_BUTTON_CORNER_RADIUS, fg_color=settings.ctm.SEND_MESSAGE_BUTTON_BG_COLOR, width=0, height=0)
|
||||
main_window.main_send_message_button_container.grid(row=0, column=1, padx=(0, settings.uism.TEXTBOX_ENTRY_PADX), pady=settings.uism.TEXTBOX_ENTRY_PADY, sticky="nsew")
|
||||
|
||||
main_window.main_send_message_button_container.grid_columnconfigure(0, weight=0, minsize=settings.uism.SEND_MESSAGE_BUTTON_MIN_WIDTH)
|
||||
main_window.main_send_message_button_container.grid_rowconfigure(0, weight=1)
|
||||
|
||||
|
||||
|
||||
|
||||
main_window.main_send_message_button = CTkFrame(main_window.main_send_message_button_container, corner_radius=0, fg_color=settings.ctm.SEND_MESSAGE_BUTTON_BG_COLOR, height=0, width=0)
|
||||
main_window.main_send_message_button.grid(row=0, column=0, sticky="nsew")
|
||||
main_window.main_send_message_button.configure(cursor="hand2")
|
||||
|
||||
main_window.main_send_message_button.grid_columnconfigure((0,2), weight=1)
|
||||
main_window.main_send_message_button.grid_rowconfigure((0,2), weight=1)
|
||||
|
||||
main_window.main_send_message_button_image = CTkLabel(
|
||||
main_window.main_send_message_button,
|
||||
text=None,
|
||||
height=0,
|
||||
image=CTkImage((settings.image_file.SEND_MESSAGE_ICON),size=(settings.uism.SEND_MESSAGE_BUTTON_IMAGE_SIZE,settings.uism.SEND_MESSAGE_BUTTON_IMAGE_SIZE)),
|
||||
)
|
||||
main_window.main_send_message_button_image.grid(row=1, column=1)
|
||||
|
||||
|
||||
|
||||
bindButtonFunctionAndColor(
|
||||
target_widgets=[main_window.main_send_message_button, main_window.main_send_message_button_image],
|
||||
enter_color=settings.ctm.SEND_MESSAGE_BUTTON_BG_HOVERED_COLOR,
|
||||
leave_color=settings.ctm.SEND_MESSAGE_BUTTON_BG_COLOR,
|
||||
clicked_color=settings.ctm.SEND_MESSAGE_BUTTON_BG_CLICKED_COLOR,
|
||||
buttonReleasedFunction=lambda _e: callFunctionIfCallable(view_variable.CALLBACK_CLICKED_SEND_MESSAGE_BUTTON, _e),
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
main_window.main_send_message_button__disabled = CTkFrame(main_window.main_send_message_button_container, corner_radius=0, fg_color=settings.ctm.SEND_MESSAGE_BUTTON_BG_COLOR, height=0, width=0)
|
||||
main_window.main_send_message_button__disabled.grid(row=0, column=0, sticky="nsew")
|
||||
|
||||
main_window.main_send_message_button__disabled.grid_columnconfigure((0,2), weight=1)
|
||||
main_window.main_send_message_button__disabled.grid_rowconfigure((0,2), weight=1)
|
||||
|
||||
main_window.main_send_message_button_image__disabled = CTkLabel(
|
||||
main_window.main_send_message_button__disabled,
|
||||
text=None,
|
||||
height=0,
|
||||
image=CTkImage((settings.image_file.SEND_MESSAGE_ICON_DISABLED),size=(settings.uism.SEND_MESSAGE_BUTTON_IMAGE_SIZE,settings.uism.SEND_MESSAGE_BUTTON_IMAGE_SIZE)),
|
||||
)
|
||||
main_window.main_send_message_button_image__disabled.grid(row=1, column=1)
|
||||
|
||||
main_window.main_send_message_button__disabled.grid_remove()
|
||||
@@ -59,7 +59,7 @@ def createTextbox(settings, main_window, view_variable):
|
||||
# Text box
|
||||
main_window.main_bg_container.grid_rowconfigure(1, weight=1)
|
||||
main_window.main_textbox_container = CTkFrame(main_window.main_bg_container, corner_radius=0, fg_color=settings.ctm.MAIN_BG_COLOR, width=0, height=0)
|
||||
main_window.main_textbox_container.grid(row=1, column=0, sticky="nsew")
|
||||
main_window.main_textbox_container.grid(row=1, column=0, columnspan=2, sticky="nsew")
|
||||
|
||||
main_window.main_textbox_container.grid_columnconfigure(0,weight=1)
|
||||
main_window.main_textbox_container.grid_rowconfigure(0,weight=1)
|
||||
|
||||
@@ -35,6 +35,10 @@ def _darkTheme(base_color):
|
||||
TEXTBOX_ENTRY_PLACEHOLDER_COLOR = base_color.DARK_500_COLOR,
|
||||
TEXTBOX_ENTRY_PLACEHOLDER_DISABLED_COLOR = base_color.DARK_700_COLOR,
|
||||
|
||||
SEND_MESSAGE_BUTTON_BG_COLOR = base_color.DARK_850_COLOR,
|
||||
SEND_MESSAGE_BUTTON_BG_HOVERED_COLOR = base_color.DARK_825_COLOR,
|
||||
SEND_MESSAGE_BUTTON_BG_CLICKED_COLOR = base_color.DARK_900_COLOR,
|
||||
|
||||
|
||||
# Sidebar
|
||||
SIDEBAR_BG_COLOR = base_color.DARK_850_COLOR,
|
||||
@@ -216,6 +220,12 @@ def _darkTheme(base_color):
|
||||
SB__CHECKBOX_CHECKED_COLOR = base_color.PRIMARY_700_COLOR,
|
||||
SB__CHECKBOX_CHECKMARK_COLOR = base_color.DARK_BASIC_TEXT_COLOR,
|
||||
|
||||
SB__RADIOBUTTON_TEXT_COLOR = base_color.DARK_300_COLOR,
|
||||
SB__RADIOBUTTON_BORDER_COLOR = base_color.DARK_600_COLOR,
|
||||
SB__RADIOBUTTON_SELECTED_COLOR = base_color.PRIMARY_400_COLOR,
|
||||
SB__RADIOBUTTON_BG_HOVERED_COLOR = base_color.DARK_825_COLOR,
|
||||
SB__RADIOBUTTON_BG_CLICKED_COLOR = base_color.DARK_900_COLOR,
|
||||
|
||||
SB__ENTRY_TEXT_COLOR = base_color.DARK_300_COLOR,
|
||||
SB__ENTRY_BG_COLOR = base_color.DARK_863_COLOR,
|
||||
SB__ENTRY_BORDER_COLOR = base_color.DARK_775_COLOR,
|
||||
@@ -301,6 +311,8 @@ def _darkTheme(base_color):
|
||||
ARROW_LEFT = getImageFileFromUiUtils("arrow_left_white.png"),
|
||||
ARROW_LEFT_DISABLED = getImageFileFromUiUtils("arrow_left_disabled.png"),
|
||||
|
||||
SEND_MESSAGE_ICON = getImageFileFromUiUtils("send_message_icon_white.png"),
|
||||
SEND_MESSAGE_ICON_DISABLED = getImageFileFromUiUtils("send_message_icon_black.png"),
|
||||
REFRESH_UPDATE_ICON = getImageFileFromUiUtils("refresh_update_icon.png"),
|
||||
REFRESH_ICON = getImageFileFromUiUtils("refresh_icon.png"),
|
||||
HELP_ICON = getImageFileFromUiUtils("help_icon_white.png"),
|
||||
|
||||
@@ -35,6 +35,10 @@ def _lightTheme(base_color):
|
||||
TEXTBOX_ENTRY_PLACEHOLDER_COLOR = base_color.LIGHT_600_COLOR,
|
||||
TEXTBOX_ENTRY_PLACEHOLDER_DISABLED_COLOR = base_color.LIGHT_400_COLOR,
|
||||
|
||||
SEND_MESSAGE_BUTTON_BG_COLOR = base_color.LIGHT_300_COLOR,
|
||||
SEND_MESSAGE_BUTTON_BG_HOVERED_COLOR = base_color.LIGHT_325_COLOR,
|
||||
SEND_MESSAGE_BUTTON_BG_CLICKED_COLOR = base_color.LIGHT_350_COLOR,
|
||||
|
||||
|
||||
# Sidebar
|
||||
SIDEBAR_BG_COLOR = base_color.LIGHT_250_COLOR,
|
||||
@@ -209,6 +213,12 @@ def _lightTheme(base_color):
|
||||
SB__CHECKBOX_CHECKED_COLOR = base_color.PRIMARY_250_COLOR,
|
||||
SB__CHECKBOX_CHECKMARK_COLOR = base_color.LIGHT_BASIC_TEXT_COLOR,
|
||||
|
||||
SB__RADIOBUTTON_TEXT_COLOR = base_color.LIGHT_900_COLOR,
|
||||
SB__RADIOBUTTON_BORDER_COLOR = base_color.LIGHT_600_COLOR,
|
||||
SB__RADIOBUTTON_SELECTED_COLOR = base_color.PRIMARY_400_COLOR,
|
||||
SB__RADIOBUTTON_BG_HOVERED_COLOR = base_color.LIGHT_300_COLOR,
|
||||
SB__RADIOBUTTON_BG_CLICKED_COLOR = base_color.LIGHT_325_COLOR,
|
||||
|
||||
SB__ENTRY_TEXT_COLOR = base_color.LIGHT_900_COLOR,
|
||||
SB__ENTRY_BG_COLOR = base_color.LIGHT_300_COLOR,
|
||||
SB__ENTRY_BORDER_COLOR = base_color.LIGHT_400_COLOR,
|
||||
@@ -295,6 +305,8 @@ def _lightTheme(base_color):
|
||||
ARROW_LEFT = getImageFileFromUiUtils("arrow_left_black.png"),
|
||||
ARROW_LEFT_DISABLED = getImageFileFromUiUtils("arrow_left_disabled.png"),
|
||||
|
||||
SEND_MESSAGE_ICON = getImageFileFromUiUtils("send_message_icon_black.png"),
|
||||
SEND_MESSAGE_ICON_DISABLED = getImageFileFromUiUtils("send_message_icon_white.png"),
|
||||
REFRESH_UPDATE_ICON = getImageFileFromUiUtils("refresh_update_icon.png"),
|
||||
REFRESH_ICON = getImageFileFromUiUtils("refresh_icon.png"),
|
||||
HELP_ICON = getImageFileFromUiUtils("help_icon_black.png"),
|
||||
|
||||
@@ -50,11 +50,18 @@ class UiScalingManager():
|
||||
self.main.TEXTBOX_FONT_SIZE__MAIN_TEXT_FONT = self._calculateUiSize(16)
|
||||
|
||||
self.main.TEXTBOX_ENTRY_FONT_SIZE = self._calculateUiSize(16)
|
||||
self.main.TEXTBOX_ENTRY_CORNER_RADIUS = self._calculateUiSize(4)
|
||||
self.main.TEXTBOX_ENTRY_BORDER_SIZE = self._calculateUiSize(2, is_allowed_odd=True)
|
||||
self.main.TEXTBOX_ENTRY_HEIGHT = self._calculateUiSize(40)
|
||||
self.main.TEXTBOX_ENTRY_PADX = self.main.TEXTBOX_PADX
|
||||
self.main.TEXTBOX_ENTRY_PADY = self._calculateUiSize(10)
|
||||
|
||||
self.main.SEND_MESSAGE_BUTTON_CORNER_RADIUS = self.main.TEXTBOX_ENTRY_CORNER_RADIUS
|
||||
self.main.SEND_MESSAGE_BUTTON_IMAGE_SIZE = self._calculateUiSize(20)
|
||||
self.main.SEND_MESSAGE_BUTTON_MIN_WIDTH = self._calculateUiSize(40)
|
||||
self.main.SEND_MESSAGE_BUTTON_RATE_WIDTH = self._calculateUiSize(6)
|
||||
self.main.SEND_MESSAGE_BUTTON_MAX_WIDTH = self._calculateUiSize(100)
|
||||
|
||||
|
||||
# Sidebar
|
||||
# Sidebar Features
|
||||
|
||||
Reference in New Issue
Block a user