Merge branch 'feature_update_notification' into UI_2.0
This commit is contained in:
BIN
img/refresh_icon.png
Normal file
BIN
img/refresh_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
3
main.py
3
main.py
@@ -668,5 +668,8 @@ view.register(
|
||||
},
|
||||
)
|
||||
|
||||
if config.UPDATE_FLAG is True:
|
||||
view.showUpdateAvailableButton()
|
||||
|
||||
if __name__ == "__main__":
|
||||
view.startMainLoop()
|
||||
6
view.py
6
view.py
@@ -91,6 +91,9 @@ class View():
|
||||
VAR_LABEL_TEXTBOX_RECEIVED=StringVar(value="Received"), # JA: 受信
|
||||
VAR_LABEL_TEXTBOX_SYSTEM=StringVar(value="System"), # JA: システム
|
||||
|
||||
VAR_UPDATE_AVAILABLE=StringVar(value="New version is here!"), # JA: 新しいバージョンが出ました!
|
||||
# VAR_UPDATE_AVAILABLE=StringVar(value="新しいバージョンが出ました!"),
|
||||
|
||||
|
||||
# Selectable Language Window
|
||||
VAR_TITLE_LABEL_SELECTABLE_LANGUAGE=StringVar(value=""),
|
||||
@@ -389,6 +392,9 @@ class View():
|
||||
# self._insertSampleConversationToTextbox()
|
||||
|
||||
|
||||
@staticmethod
|
||||
def showUpdateAvailableButton():
|
||||
vrct_gui.update_available_container.grid()
|
||||
|
||||
@staticmethod
|
||||
def setMainWindowAllWidgetsStatusToNormal():
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
from .widgets import createSidebar, createMinimizeSidebarButton, createTextbox, createEntryMessageBox
|
||||
|
||||
from customtkinter import CTkFrame
|
||||
from customtkinter import CTkFrame, CTkLabel, CTkFont, CTkImage
|
||||
|
||||
from ..ui_utils import createButtonWithImage, getImagePath
|
||||
from ..ui_utils import createButtonWithImage, getImagePath, bindButtonFunctionAndColor
|
||||
|
||||
import webbrowser
|
||||
|
||||
def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
||||
vrct_gui.protocol("WM_DELETE_WINDOW", vrct_gui.quitVRCT)
|
||||
@@ -41,6 +42,57 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
||||
|
||||
|
||||
|
||||
# Update Available Button
|
||||
vrct_gui.update_available_container = CTkFrame(
|
||||
vrct_gui.main_topbar_container,
|
||||
corner_radius=settings.uism.UPDATE_AVAILABLE_BUTTON_CORNER_RADIUS,
|
||||
fg_color=settings.ctm.MAIN_BG_COLOR,
|
||||
cursor="hand2",
|
||||
)
|
||||
vrct_gui.update_available_container.grid(row=0, column=3, padx=settings.uism.UPDATE_AVAILABLE_BUTTON_PADX, pady=settings.uism.TOP_BAR_BUTTON_PADY, sticky="nse")
|
||||
vrct_gui.update_available_container.grid_remove()
|
||||
|
||||
|
||||
vrct_gui.update_available_container.rowconfigure((0,2), weight=1)
|
||||
|
||||
vrct_gui.update_available_icon = CTkLabel(
|
||||
vrct_gui.update_available_container,
|
||||
text=None,
|
||||
corner_radius=0,
|
||||
height=0,
|
||||
image=CTkImage(settings.image_file.REFRESH_ICON.rotate(25), size=settings.uism.UPDATE_AVAILABLE_BUTTON_SIZE)
|
||||
)
|
||||
vrct_gui.update_available_icon.grid(row=1, column=0, padx=(settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX, settings.uism.UPDATE_AVAILABLE_PADX_BETWEEN_LABEL_AND_ICON), pady=0)
|
||||
|
||||
|
||||
vrct_gui.update_available_label = CTkLabel(
|
||||
vrct_gui.update_available_container,
|
||||
textvariable=view_variable.VAR_UPDATE_AVAILABLE,
|
||||
height=0,
|
||||
corner_radius=0,
|
||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.UPDATE_AVAILABLE_BUTTON_FONT_SIZE, weight="normal"),
|
||||
anchor="e",
|
||||
text_color=settings.ctm.UPDATE_AVAILABLE_BUTTON_TEXT_COLOR,
|
||||
)
|
||||
# This "right padx +1" is for fixing a bug that sticks out from the frame. I don't know why that happens...
|
||||
vrct_gui.update_available_label.grid(row=1, column=1, padx=(0,settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX+1), pady=0)
|
||||
|
||||
|
||||
bindButtonFunctionAndColor(
|
||||
target_widgets=[
|
||||
vrct_gui.update_available_container,
|
||||
vrct_gui.update_available_label,
|
||||
vrct_gui.update_available_icon,
|
||||
],
|
||||
enter_color=settings.ctm.UPDATE_AVAILABLE_BUTTON_HOVERED_BG_COLOR,
|
||||
leave_color=settings.ctm.UPDATE_AVAILABLE_BUTTON_BG_COLOR,
|
||||
clicked_color=settings.ctm.UPDATE_AVAILABLE_BUTTON_CLICKED_BG_COLOR,
|
||||
buttonReleasedFunction=lambda e: webbrowser.open_new_tab("https://booth.pm/ja/items/4814313"),
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Help and Info button
|
||||
vrct_gui.help_and_info_button_container = createButtonWithImage(
|
||||
@@ -54,7 +106,7 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
||||
button_command=vrct_gui.openHelpAndInfoWindow,
|
||||
corner_radius=settings.uism.HELP_AND_INFO_BUTTON_CORNER_RADIUS,
|
||||
)
|
||||
vrct_gui.help_and_info_button_container.grid(row=0, column=3, padx=settings.uism.HELP_AND_INFO_BUTTON_PADX, pady=settings.uism.HELP_AND_INFO_BUTTON_PADY, sticky="e")
|
||||
vrct_gui.help_and_info_button_container.grid(row=0, column=4, padx=settings.uism.HELP_AND_INFO_BUTTON_PADX, pady=settings.uism.TOP_BAR_BUTTON_PADY, sticky="e")
|
||||
|
||||
createSidebar(settings, vrct_gui, view_variable)
|
||||
|
||||
|
||||
@@ -60,6 +60,16 @@ def createSidebar(settings, main_window, view_variable):
|
||||
main_window.sidebar_config_button.grid(row=0, column=0, padx=0, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_IPADY)
|
||||
|
||||
|
||||
# main_window.sidebar_config_button_update_badge = CTkFrame(
|
||||
# main_window.sidebar_config_button,
|
||||
# corner_radius=3,
|
||||
# fg_color="#ca5361",
|
||||
# width=6,
|
||||
# height=6,
|
||||
# )
|
||||
# main_window.sidebar_config_button_update_badge.place(relx=0.9, rely=0.1, anchor="center")
|
||||
|
||||
|
||||
bindButtonFunctionAndColor(
|
||||
target_widgets=[main_window.sidebar_config_button_wrapper, main_window.sidebar_config_button],
|
||||
enter_color=settings.ctm.CONFIG_BUTTON_HOVERED_BG_COLOR,
|
||||
|
||||
@@ -172,10 +172,23 @@ class ColorThemeManager():
|
||||
self.main.MINIMIZE_SIDEBAR_BUTTON_CLICKED_BG_COLOR = self.DARK_900_COLOR
|
||||
# self.main.MINIMIZE_SIDEBAR_BUTTON_DISABLE_COLOR = self.DARK_900_COLOR
|
||||
|
||||
self.main.HELP_AND_INFO_BUTTON_BG_COLOR = self.main.MAIN_BG_COLOR
|
||||
self.main.HELP_AND_INFO_BUTTON_HOVERED_BG_COLOR = self.DARK_850_COLOR
|
||||
self.main.HELP_AND_INFO_BUTTON_CLICKED_BG_COLOR = self.DARK_950_COLOR
|
||||
# self.main.HELP_AND_INFO_BUTTON_DISABLE_COLOR = self.DARK_900_COLOR
|
||||
|
||||
|
||||
self.main.TOP_BAR_BUTTON_BG_COLOR = self.main.MAIN_BG_COLOR
|
||||
self.main.TOP_BAR_BUTTON_HOVERED_BG_COLOR = self.DARK_850_COLOR
|
||||
self.main.TOP_BAR_BUTTON_CLICKED_BG_COLOR = self.DARK_900_COLOR
|
||||
# self.main.TOP_BAR_BUTTON_DISABLE_COLOR = self.DARK_900_COLOR
|
||||
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_BG_COLOR = self.main.TOP_BAR_BUTTON_BG_COLOR
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_HOVERED_BG_COLOR = self.main.TOP_BAR_BUTTON_HOVERED_BG_COLOR
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_CLICKED_BG_COLOR = self.main.TOP_BAR_BUTTON_CLICKED_BG_COLOR
|
||||
# self.main.UPDATE_AVAILABLE_BUTTON_DISABLE_COLOR = self.main.TOP_BAR_BUTTON_DISABLE_COLOR
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_TEXT_COLOR = self.PRIMARY_300_COLOR
|
||||
|
||||
self.main.HELP_AND_INFO_BUTTON_BG_COLOR = self.main.TOP_BAR_BUTTON_BG_COLOR
|
||||
self.main.HELP_AND_INFO_BUTTON_HOVERED_BG_COLOR = self.main.TOP_BAR_BUTTON_HOVERED_BG_COLOR
|
||||
self.main.HELP_AND_INFO_BUTTON_CLICKED_BG_COLOR = self.main.TOP_BAR_BUTTON_CLICKED_BG_COLOR
|
||||
# self.main.HELP_AND_INFO_BUTTON_DISABLE_COLOR = self.main.TOP_BAR_BUTTON_DISABLE_COLOR
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ class ImageFileManager():
|
||||
self.ARROW_LEFT = getImageFileFromUiUtils("arrow_left_white.png")
|
||||
self.ARROW_LEFT_DISABLED = getImageFileFromUiUtils("arrow_left_disabled.png")
|
||||
|
||||
self.REFRESH_ICON = getImageFileFromUiUtils("refresh_icon.png")
|
||||
self.HELP_ICON = getImageFileFromUiUtils("help_icon_white.png")
|
||||
|
||||
def _createLightModeImages(self):
|
||||
|
||||
@@ -75,11 +75,21 @@ class UiScalingManager():
|
||||
self.main.SIDEBAR_CONFIG_BUTTON_PADY = self._calculateUiSize(10)
|
||||
self.main.SIDEBAR_CONFIG_BUTTON_IPADY = self._calculateUiSize(8)
|
||||
|
||||
self.main.TOP_BAR_BUTTON_PADY = (self._calculateUiSize(6),0)
|
||||
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_CORNER_RADIUS = self._calculateUiSize(6)
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_SIZE = (self._calculateUiSize(18), self._calculateUiSize(18))
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_FONT_SIZE = self._calculateUiSize(12)
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_PADX = (0, self._calculateUiSize(4))
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_IPADX = self._calculateUiSize(6)
|
||||
self.main.UPDATE_AVAILABLE_ICON_PADX = (self._calculateUiSize(6), self._calculateUiSize(4))
|
||||
self.main.UPDATE_AVAILABLE_PADX_BETWEEN_LABEL_AND_ICON = self._calculateUiSize(4)
|
||||
|
||||
|
||||
|
||||
self.main.HELP_AND_INFO_BUTTON_CORNER_RADIUS = self._calculateUiSize(6)
|
||||
self.main.HELP_AND_INFO_BUTTON_SIZE = self._calculateUiSize(24)
|
||||
self.main.HELP_AND_INFO_BUTTON_PADX = (0, self._calculateUiSize(6))
|
||||
self.main.HELP_AND_INFO_BUTTON_PADY = (self._calculateUiSize(6),0)
|
||||
self.main.HELP_AND_INFO_BUTTON_IPADXY = self._calculateUiSize(6)
|
||||
|
||||
self.main.MINIMIZE_SIDEBAR_BUTTON_ICON_SIZE_X = int(self.main.TEXTBOX_PADX/2+self.main.TEXTBOX_CORNER_RADIUS*2)
|
||||
|
||||
Reference in New Issue
Block a user