Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ dependencies = [
"logging>=0.4.9.6",
"pydantic>=2.12.5",
"pymediainfo>=7.0.1",
"requests>=2.32.5",
"wxpython>=4.2.2",
]

Expand Down
31 changes: 31 additions & 0 deletions src/SimpleCutMainFrame.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import webbrowser

import wx
import tools.version

import meta
import SimpleCutPy
Expand Down Expand Up @@ -162,6 +163,36 @@ def on_export_button_click(self, event):
def on_open_project_website_button_click(self, event):
webbrowser.open("https://github.com/FishCat233/SimpleCutPy")

def on_check_update_button_click(self, event):
"""检查更新按钮点击事件"""
try:
update_info = tools.version.check_update()
except Exception as e:
logging.error(f"检查更新失败:{e}")
wx.MessageBox("检查更新失败,请稍后再试!", "错误", wx.OK | wx.ICON_ERROR)
return

if update_info.has_new_version:
# 有新版本
dlg = wx.MessageDialog(
self,
f"发现新版本 {update_info.latest_version}!\n当前版本:{update_info.current_version}\n\n是否打开下载页面?",
"检查更新",
wx.YES_NO | wx.ICON_INFORMATION,
)
result = dlg.ShowModal()
dlg.Destroy()

if result == wx.ID_YES:
webbrowser.open(update_info.release_url)
else:
# 当前已是最新版本
wx.MessageBox(
f"当前已是最新版本 {update_info.current_version}!",
"检查更新",
wx.OK | wx.ICON_INFORMATION,
)

def on_clear_all_button_click(self, event):
self.core_controller.clear_all_files()
logging.debug(
Expand Down
226 changes: 156 additions & 70 deletions src/SimpleCutPy.fbp
Original file line number Diff line number Diff line change
Expand Up @@ -2078,77 +2078,163 @@
</object>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="true">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">访问项目</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="true">
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">ProjectWebBtn</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">on_open_project_website_button_click</event>
<property name="name">bSizer161</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="true">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">访问项目</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">ProjectWebBtn</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">on_open_project_website_button_click</event>
</object>
</object>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="true">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="auth_needed">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">检查更新</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">ProjectWebBtn1</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">on_check_update_button_click</event>
</object>
</object>
</object>
</object>
</object>
Expand Down
14 changes: 13 additions & 1 deletion src/SimpleCutPy.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,16 @@ def __init__( self, parent ):

bSizer8.Add( self.VersionText, 0, wx.ALL, 5 )

bSizer161 = wx.BoxSizer( wx.HORIZONTAL )

self.ProjectWebBtn = wx.Button( self.m_panel4, wx.ID_ANY, u"访问项目", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer8.Add( self.ProjectWebBtn, 0, wx.ALL, 5 )
bSizer161.Add( self.ProjectWebBtn, 0, wx.ALL, 5 )

self.ProjectWebBtn1 = wx.Button( self.m_panel4, wx.ID_ANY, u"检查更新", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer161.Add( self.ProjectWebBtn1, 0, wx.ALL, 5 )


bSizer8.Add( bSizer161, 1, wx.EXPAND, 5 )


self.m_panel4.SetSizer( bSizer8 )
Expand Down Expand Up @@ -239,6 +247,7 @@ def __init__( self, parent ):
self.SizeControlMode.Bind( wx.EVT_CHOICE, self.on_size_control_mode_change )
self.ExportBtn.Bind( wx.EVT_BUTTON, self.on_export_button_click )
self.ProjectWebBtn.Bind( wx.EVT_BUTTON, self.on_open_project_website_button_click )
self.ProjectWebBtn1.Bind( wx.EVT_BUTTON, self.on_check_update_button_click )

def __del__( self ):
pass
Expand Down Expand Up @@ -278,4 +287,7 @@ def on_export_button_click( self, event ):
def on_open_project_website_button_click( self, event ):
event.Skip()

def on_check_update_button_click( self, event ):
event.Skip()


2 changes: 1 addition & 1 deletion src/meta.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
VERSION = "0.5.0"
VERSION = "v0.5.0"
Empty file added src/tools/__init__.py
Empty file.
Loading
Loading