├── lib
├── qfluentwidgets
│ ├── _rc
│ │ ├── __init__.py
│ │ ├── qss
│ │ │ ├── dark
│ │ │ │ ├── flip_view.qss
│ │ │ │ ├── info_badge.qss
│ │ │ │ ├── pips_pager.qss
│ │ │ │ ├── media_player.qss
│ │ │ │ ├── tab_view.qss
│ │ │ │ ├── card_widget.qss
│ │ │ │ ├── setting_card_group.qss
│ │ │ │ ├── teaching_tip.qss
│ │ │ │ ├── state_tool_tip.qss
│ │ │ │ ├── switch_button.qss
│ │ │ │ ├── check_box.qss
│ │ │ │ ├── tool_tip.qss
│ │ │ │ ├── label.qss
│ │ │ │ ├── navigation_interface.qss
│ │ │ │ ├── list_view.qss
│ │ │ │ ├── message_dialog.qss
│ │ │ │ ├── combo_box.qss
│ │ │ │ ├── info_bar.qss
│ │ │ │ └── folder_list_dialog.qss
│ │ │ └── light
│ │ │ │ ├── flip_view.qss
│ │ │ │ ├── info_badge.qss
│ │ │ │ ├── pips_pager.qss
│ │ │ │ ├── media_player.qss
│ │ │ │ ├── tab_view.qss
│ │ │ │ ├── card_widget.qss
│ │ │ │ ├── setting_card_group.qss
│ │ │ │ ├── teaching_tip.qss
│ │ │ │ ├── switch_button.qss
│ │ │ │ ├── state_tool_tip.qss
│ │ │ │ ├── tool_tip.qss
│ │ │ │ ├── check_box.qss
│ │ │ │ ├── label.qss
│ │ │ │ ├── navigation_interface.qss
│ │ │ │ ├── list_view.qss
│ │ │ │ ├── combo_box.qss
│ │ │ │ ├── message_dialog.qss
│ │ │ │ ├── info_bar.qss
│ │ │ │ └── folder_list_dialog.qss
│ │ ├── images
│ │ │ ├── logo.png
│ │ │ ├── acrylic
│ │ │ │ └── noise.png
│ │ │ ├── controls
│ │ │ │ ├── Grid.png
│ │ │ │ ├── Image.png
│ │ │ │ ├── Line.png
│ │ │ │ ├── Pivot.png
│ │ │ │ ├── Acrylic.png
│ │ │ │ ├── Button.png
│ │ │ │ ├── Canvas.png
│ │ │ │ ├── Checkbox.png
│ │ │ │ ├── ComboBox.png
│ │ │ │ ├── DataGrid.png
│ │ │ │ ├── Expander.png
│ │ │ │ ├── FlipView.png
│ │ │ │ ├── Flyout.png
│ │ │ │ ├── GridView.png
│ │ │ │ ├── InfoBar.png
│ │ │ │ ├── ListBox.png
│ │ │ │ ├── ListView.png
│ │ │ │ ├── MenuBar.png
│ │ │ │ ├── Slider.png
│ │ │ │ ├── TabView.png
│ │ │ │ ├── TextBox.png
│ │ │ │ ├── TitleBar.png
│ │ │ │ ├── ToolTip.png
│ │ │ │ ├── TreeView.png
│ │ │ │ ├── Viewbox.png
│ │ │ │ ├── Clipboard.png
│ │ │ │ ├── CommandBar.png
│ │ │ │ ├── DatePicker.png
│ │ │ │ ├── InfoBadge.png
│ │ │ │ ├── MenuFlyout.png
│ │ │ │ ├── NumberBox.png
│ │ │ │ ├── PipsPager.png
│ │ │ │ ├── StackPanel.png
│ │ │ │ ├── TextBlock.png
│ │ │ │ ├── TimePicker.png
│ │ │ │ ├── AnimatedIcon.png
│ │ │ │ ├── AppBarButton.png
│ │ │ │ ├── BreadcrumbBar.png
│ │ │ │ ├── CalendarView.png
│ │ │ │ ├── ColorPicker.png
│ │ │ │ ├── ContentDialog.png
│ │ │ │ ├── IconElement.png
│ │ │ │ ├── PasswordBox.png
│ │ │ │ ├── PersonPicture.png
│ │ │ │ ├── ProgressBar.png
│ │ │ │ ├── ProgressRing.png
│ │ │ │ ├── RadioButton.png
│ │ │ │ ├── RadioButtons.png
│ │ │ │ ├── RatingControl.png
│ │ │ │ ├── RelativePanel.png
│ │ │ │ ├── RepeatButton.png
│ │ │ │ ├── RichEditBox.png
│ │ │ │ ├── RichTextBlock.png
│ │ │ │ ├── ScrollViewer.png
│ │ │ │ ├── SplitButton.png
│ │ │ │ ├── TeachingTip.png
│ │ │ │ ├── ToggleButton.png
│ │ │ │ ├── ToggleSwitch.png
│ │ │ │ ├── VerticalLine.png
│ │ │ │ ├── AppBarSeparator.png
│ │ │ │ ├── AutoSuggestBox.png
│ │ │ │ ├── DropDownButton.png
│ │ │ │ ├── EasingFunction.png
│ │ │ │ ├── HyperlinkButton.png
│ │ │ │ ├── NavigationView.png
│ │ │ │ ├── AppBarToggleButton.png
│ │ │ │ ├── CalendarDatePicker.png
│ │ │ │ ├── CommandBarFlyout.png
│ │ │ │ ├── ConnectedAnimation.png
│ │ │ │ ├── MediaPlayerElement.png
│ │ │ │ ├── ToggleSplitButton.png
│ │ │ │ ├── ColorPaletteResources.png
│ │ │ │ └── VariableSizedWrapGrid.png
│ │ │ ├── color_dialog
│ │ │ │ ├── HuePanel.png
│ │ │ │ ├── Clear_black.svg
│ │ │ │ └── Clear_white.svg
│ │ │ ├── folder_list_dialog
│ │ │ │ ├── Add_black.png
│ │ │ │ ├── Add_white.png
│ │ │ │ ├── Close_black.png
│ │ │ │ └── Close_white.png
│ │ │ ├── icons
│ │ │ │ ├── Accept_black.svg
│ │ │ │ ├── Accept_white.svg
│ │ │ │ ├── Remove_black.svg
│ │ │ │ ├── Remove_white.svg
│ │ │ │ ├── CareRightSolid_black.svg
│ │ │ │ ├── CareRightSolid_white.svg
│ │ │ │ ├── Down_black.svg
│ │ │ │ ├── Down_white.svg
│ │ │ │ ├── Up_black.svg
│ │ │ │ ├── Up_white.svg
│ │ │ │ ├── CareLeftSolid_black.svg
│ │ │ │ ├── CareLeftSolid_white.svg
│ │ │ │ ├── LeftArrow_black.svg
│ │ │ │ ├── LeftArrow_white.svg
│ │ │ │ ├── ChevronRightMed_black.svg
│ │ │ │ ├── ChevronRightMed_white.svg
│ │ │ │ ├── RightArrow_black.svg
│ │ │ │ ├── RightArrow_white.svg
│ │ │ │ ├── Return_black.svg
│ │ │ │ ├── Return_white.svg
│ │ │ │ ├── AcceptMedium_black.svg
│ │ │ │ ├── AcceptMedium_white.svg
│ │ │ │ ├── Market_black.svg
│ │ │ │ ├── Market_white.svg
│ │ │ │ ├── Send_black.svg
│ │ │ │ ├── Send_white.svg
│ │ │ │ ├── CareUpSolid_black.svg
│ │ │ │ ├── CareUpSolid_white.svg
│ │ │ │ ├── CareDownSolid_black.svg
│ │ │ │ ├── CareDownSolid_white.svg
│ │ │ │ ├── SendFill_black.svg
│ │ │ │ ├── SendFill_white.svg
│ │ │ │ ├── PlaySolid_black.svg
│ │ │ │ ├── PlaySolid_white.svg
│ │ │ │ ├── Flag_black.svg
│ │ │ │ ├── Bluetooth_black.svg
│ │ │ │ ├── Bluetooth_white.svg
│ │ │ │ ├── ChevronDownMed_black.svg
│ │ │ │ ├── Flag_white.svg
│ │ │ │ ├── ChevronDownMed_white.svg
│ │ │ │ ├── ChevronRight_black.svg
│ │ │ │ ├── ChevronRight_white.svg
│ │ │ │ ├── HomeFill_black.svg
│ │ │ │ ├── HomeFill_white.svg
│ │ │ │ ├── BackToWindow_black.svg
│ │ │ │ ├── BackToWindow_white.svg
│ │ │ │ ├── EraseTool_black.svg
│ │ │ │ ├── EraseTool_white.svg
│ │ │ │ ├── Filter_black.svg
│ │ │ │ ├── Filter_white.svg
│ │ │ │ ├── FullScreen_black.svg
│ │ │ │ ├── FullScreen_white.svg
│ │ │ │ ├── CancelMedium_black.svg
│ │ │ │ ├── Scroll_black.svg
│ │ │ │ ├── Scroll_white.svg
│ │ │ │ ├── CancelMedium_white.svg
│ │ │ │ ├── Broom_black.svg
│ │ │ │ ├── Broom_white.svg
│ │ │ │ ├── GitHub_white.svg
│ │ │ │ ├── GitHub_black.svg
│ │ │ │ ├── Close_black.svg
│ │ │ │ ├── Close_white.svg
│ │ │ │ ├── Play_black.svg
│ │ │ │ ├── Play_white.svg
│ │ │ │ ├── ChevronDown_white.svg
│ │ │ │ ├── FontIncrease_black.svg
│ │ │ │ ├── FontIncrease_white.svg
│ │ │ │ ├── Mail_black.svg
│ │ │ │ ├── Mail_white.svg
│ │ │ │ ├── ChevronDown_black.svg
│ │ │ │ ├── FontSize_black.svg
│ │ │ │ ├── FontSize_white.svg
│ │ │ │ ├── LibraryFill_black.svg
│ │ │ │ ├── LibraryFill_white.svg
│ │ │ │ ├── Document_black.svg
│ │ │ │ ├── Document_white.svg
│ │ │ │ ├── Unit_black.svg
│ │ │ │ ├── Unit_white.svg
│ │ │ │ ├── PauseBold_black.svg
│ │ │ │ ├── PauseBold_white.svg
│ │ │ │ ├── CheckBox_black.svg
│ │ │ │ ├── CheckBox_white.svg
│ │ │ │ ├── Megaphone_black.svg
│ │ │ │ ├── Megaphone_white.svg
│ │ │ │ ├── Edit_black.svg
│ │ │ │ ├── Edit_white.svg
│ │ │ │ ├── Menu_black.svg
│ │ │ │ ├── Menu_white.svg
│ │ │ │ ├── Education_black.svg
│ │ │ │ ├── Education_white.svg
│ │ │ │ ├── Heart_black.svg
│ │ │ │ ├── Heart_white.svg
│ │ │ │ ├── Pin_black.svg
│ │ │ │ ├── Pin_white.svg
│ │ │ │ ├── Asterisk_black.svg
│ │ │ │ ├── Asterisk_white.svg
│ │ │ │ ├── Cafe_black.svg
│ │ │ │ ├── Cafe_white.svg
│ │ │ │ ├── Dictionary_black.svg
│ │ │ │ ├── Dictionary_white.svg
│ │ │ │ ├── Unpin_black.svg
│ │ │ │ ├── Unpin_white.svg
│ │ │ │ ├── Cloud_black.svg
│ │ │ │ ├── Cloud_white.svg
│ │ │ │ ├── Leaf_black.svg
│ │ │ │ ├── Layout_black.svg
│ │ │ │ ├── Layout_white.svg
│ │ │ │ ├── Leaf_white.svg
│ │ │ │ ├── Delete_black.svg
│ │ │ │ ├── Delete_white.svg
│ │ │ │ └── PowerButton_black.svg
│ │ │ ├── check_box
│ │ │ │ ├── PartialAccept_black.svg
│ │ │ │ ├── PartialAccept_white.svg
│ │ │ │ ├── Accept_black.svg
│ │ │ │ └── Accept_white.svg
│ │ │ ├── spin_box
│ │ │ │ ├── Up_black.svg
│ │ │ │ ├── Up_white.svg
│ │ │ │ ├── Down_black.svg
│ │ │ │ └── Down_white.svg
│ │ │ ├── tree_view
│ │ │ │ ├── TreeViewClose_black.svg
│ │ │ │ ├── TreeViewClose_white.svg
│ │ │ │ ├── TreeViewOpen_black.svg
│ │ │ │ └── TreeViewOpen_white.svg
│ │ │ ├── table_view
│ │ │ │ ├── Down_black.svg
│ │ │ │ ├── Down_white.svg
│ │ │ │ ├── Up_black.svg
│ │ │ │ └── Up_white.svg
│ │ │ └── info_bar
│ │ │ │ ├── Success_dark.svg
│ │ │ │ ├── Success_light.svg
│ │ │ │ ├── Info_dark.svg
│ │ │ │ ├── Info_light.svg
│ │ │ │ ├── Warning_dark.svg
│ │ │ │ └── Warning_light.svg
│ │ └── i18n
│ │ │ ├── qfluentwidgets.ar_AR.qm
│ │ │ ├── qfluentwidgets.en_US.qm
│ │ │ ├── qfluentwidgets.ru_RU.qm
│ │ │ ├── qfluentwidgets.zh_CN.qm
│ │ │ ├── qfluentwidgets.zh_HK.qm
│ │ │ └── qfluentwidgets.zh_TW.qm
│ ├── components
│ │ ├── layout
│ │ │ ├── __init__.py
│ │ │ └── v_box_layout.py
│ │ ├── __init__.py
│ │ ├── dialog_box
│ │ │ └── __init__.py
│ │ ├── date_time
│ │ │ └── __init__.py
│ │ ├── material
│ │ │ ├── __init__.py
│ │ │ ├── acrylic_line_edit.py
│ │ │ └── acrylic_tool_tip.py
│ │ ├── settings
│ │ │ └── __init__.py
│ │ ├── navigation
│ │ │ └── __init__.py
│ │ └── widgets
│ │ │ └── separator.py
│ ├── window
│ │ └── __init__.py
│ ├── multimedia
│ │ └── __init__.py
│ ├── common
│ │ ├── translator.py
│ │ ├── __init__.py
│ │ ├── screen.py
│ │ ├── exception_handler.py
│ │ └── font.py
│ └── __init__.py
├── qframelesswindow
│ ├── _rc
│ │ ├── __init__.py
│ │ ├── resource.qrc
│ │ └── title_bar
│ │ │ └── close.svg
│ ├── webengine
│ │ └── __init__.py
│ └── utils
│ │ └── __init__.py
└── __init__.py
├── .github
└── FUNDING.yml
├── docs
├── demo.png
├── logo.ico
├── logo.png
├── banner.png
├── logo.icns
├── win11.png
└── souvenir.gif
├── app
├── resource
│ ├── images
│ │ └── logo.png
│ ├── qss
│ │ ├── dark
│ │ │ ├── home_interface.qss
│ │ │ ├── setting_interface.qss
│ │ │ └── drop_card.qss
│ │ └── light
│ │ │ ├── home_interface.qss
│ │ │ ├── setting_interface.qss
│ │ │ └── drop_card.qss
│ └── resource.qrc
├── __init__.py
├── common
│ ├── signal_bus.py
│ ├── style_sheet.py
│ ├── setting.py
│ └── config.py
└── components
│ └── tabbar_card.py
├── requirements.txt
├── main.py
└── setup.py
/lib/qfluentwidgets/_rc/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/qframelesswindow/_rc/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: odest
2 | buy_me_a_coffee: odest
3 |
--------------------------------------------------------------------------------
/docs/demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/docs/demo.png
--------------------------------------------------------------------------------
/docs/logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/docs/logo.ico
--------------------------------------------------------------------------------
/docs/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/docs/logo.png
--------------------------------------------------------------------------------
/docs/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/docs/banner.png
--------------------------------------------------------------------------------
/docs/logo.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/docs/logo.icns
--------------------------------------------------------------------------------
/docs/win11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/docs/win11.png
--------------------------------------------------------------------------------
/lib/__init__.py:
--------------------------------------------------------------------------------
1 | from .qfluentwidgets import *
2 | from .qframelesswindow import *
--------------------------------------------------------------------------------
/docs/souvenir.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/docs/souvenir.gif
--------------------------------------------------------------------------------
/app/resource/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/app/resource/images/logo.png
--------------------------------------------------------------------------------
/app/__init__.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | from .common.config import cfg
3 | from .view.main_window import MainWindow
4 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/flip_view.qss:
--------------------------------------------------------------------------------
1 | FlipView {
2 | background-color: transparent;
3 | border: none;
4 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/info_badge.qss:
--------------------------------------------------------------------------------
1 | InfoBadge {
2 | padding: 1px 3px 1px 3px;
3 | color: black;
4 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/flip_view.qss:
--------------------------------------------------------------------------------
1 | FlipView {
2 | background-color: transparent;
3 | border: none;
4 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/info_badge.qss:
--------------------------------------------------------------------------------
1 | InfoBadge {
2 | padding: 1px 3px 1px 3px;
3 | color: white;
4 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/logo.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/pips_pager.qss:
--------------------------------------------------------------------------------
1 | PipsPager {
2 | border: none;
3 | background-color: transparent;
4 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/pips_pager.qss:
--------------------------------------------------------------------------------
1 | PipsPager {
2 | border: none;
3 | background-color: transparent;
4 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/acrylic/noise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/acrylic/noise.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Grid.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Image.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Line.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Pivot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Pivot.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.ar_AR.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.ar_AR.qm
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.en_US.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.en_US.qm
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.ru_RU.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.ru_RU.qm
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.zh_CN.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.zh_CN.qm
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.zh_HK.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.zh_HK.qm
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.zh_TW.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/i18n/qfluentwidgets.zh_TW.qm
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Acrylic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Acrylic.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Button.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Canvas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Canvas.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Checkbox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ComboBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ComboBox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/DataGrid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/DataGrid.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Expander.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Expander.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/FlipView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/FlipView.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Flyout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Flyout.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/GridView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/GridView.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/InfoBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/InfoBar.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ListBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ListBox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ListView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ListView.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/MenuBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/MenuBar.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Slider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Slider.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/TabView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/TabView.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/TextBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/TextBox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/TitleBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/TitleBar.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ToolTip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ToolTip.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/TreeView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/TreeView.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Viewbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Viewbox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/Clipboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/Clipboard.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/CommandBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/CommandBar.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/DatePicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/DatePicker.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/InfoBadge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/InfoBadge.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/MenuFlyout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/MenuFlyout.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/NumberBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/NumberBox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/PipsPager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/PipsPager.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/StackPanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/StackPanel.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/TextBlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/TextBlock.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/TimePicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/TimePicker.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/color_dialog/HuePanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/color_dialog/HuePanel.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/AnimatedIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/AnimatedIcon.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/AppBarButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/AppBarButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/BreadcrumbBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/BreadcrumbBar.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/CalendarView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/CalendarView.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ColorPicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ColorPicker.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ContentDialog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ContentDialog.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/IconElement.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/IconElement.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/PasswordBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/PasswordBox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/PersonPicture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/PersonPicture.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ProgressBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ProgressBar.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ProgressRing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ProgressRing.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/RadioButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/RadioButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/RadioButtons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/RadioButtons.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/RatingControl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/RatingControl.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/RelativePanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/RelativePanel.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/RepeatButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/RepeatButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/RichEditBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/RichEditBox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/RichTextBlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/RichTextBlock.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ScrollViewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ScrollViewer.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/SplitButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/SplitButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/TeachingTip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/TeachingTip.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ToggleButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ToggleButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ToggleSwitch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ToggleSwitch.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/VerticalLine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/VerticalLine.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/AppBarSeparator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/AppBarSeparator.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/AutoSuggestBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/AutoSuggestBox.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/DropDownButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/DropDownButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/EasingFunction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/EasingFunction.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/HyperlinkButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/HyperlinkButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/NavigationView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/NavigationView.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/layout/__init__.py:
--------------------------------------------------------------------------------
1 | from .expand_layout import ExpandLayout
2 | from .flow_layout import FlowLayout
3 | from .v_box_layout import VBoxLayout
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/AppBarToggleButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/AppBarToggleButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/CalendarDatePicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/CalendarDatePicker.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/CommandBarFlyout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/CommandBarFlyout.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ConnectedAnimation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ConnectedAnimation.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/MediaPlayerElement.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/MediaPlayerElement.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ToggleSplitButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ToggleSplitButton.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/folder_list_dialog/Add_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/folder_list_dialog/Add_black.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/folder_list_dialog/Add_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/folder_list_dialog/Add_white.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/media_player.qss:
--------------------------------------------------------------------------------
1 | CaptionLabel {
2 | color: white;
3 | }
4 |
5 | QGraphicsView {
6 | background: transparent;
7 | border: none
8 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/media_player.qss:
--------------------------------------------------------------------------------
1 | CaptionLabel {
2 | color: black;
3 | }
4 |
5 | QGraphicsView {
6 | background: transparent;
7 | border: none
8 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/ColorPaletteResources.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/ColorPaletteResources.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/controls/VariableSizedWrapGrid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/controls/VariableSizedWrapGrid.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/folder_list_dialog/Close_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/folder_list_dialog/Close_black.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/folder_list_dialog/Close_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/odest/DonkeyDoc/HEAD/lib/qfluentwidgets/_rc/images/folder_list_dialog/Close_white.png
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/tab_view.qss:
--------------------------------------------------------------------------------
1 | TabBar {
2 | border: none;
3 | background-color: transparent;
4 | }
5 |
6 | #view {
7 | background-color: transparent;
8 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/tab_view.qss:
--------------------------------------------------------------------------------
1 | TabBar {
2 | border: none;
3 | background-color: transparent;
4 | }
5 |
6 | #view {
7 | background-color: transparent;
8 | }
--------------------------------------------------------------------------------
/lib/qframelesswindow/_rc/resource.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | title_bar/close.svg
4 |
5 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/__init__.py:
--------------------------------------------------------------------------------
1 | from .dialog_box import *
2 | from .layout import *
3 | from .settings import *
4 | from .widgets import *
5 | from .navigation import *
6 | from .date_time import *
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | PyQt5>=5.15.0
2 | pymupdf
3 | darkdetect
4 | pywin32==306; sys_platform=="win32"
5 | xcffib==1.5.0; sys_platform=="linux"
6 | pyobjc; sys_platform=="darwin"
7 | PyCocoa; sys_platform=="darwin"
--------------------------------------------------------------------------------
/app/resource/qss/dark/home_interface.qss:
--------------------------------------------------------------------------------
1 | SettingInterface,
2 | #view {
3 | background-color: transparent;
4 | }
5 |
6 | QScrollArea {
7 | border: none;
8 | background-color: transparent;
9 | }
10 |
--------------------------------------------------------------------------------
/app/resource/qss/light/home_interface.qss:
--------------------------------------------------------------------------------
1 | SettingInterface,
2 | #view {
3 | background-color: transparent;
4 | }
5 |
6 | QScrollArea {
7 | border: none;
8 | background-color: transparent;
9 | }
10 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/card_widget.qss:
--------------------------------------------------------------------------------
1 | HeaderCardWidget #headerLabel {
2 | color: white;
3 | }
4 |
5 | HeaderCardWidget > #headerView,
6 | HeaderCardWidget > #view {
7 | background-color: transparent;
8 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/card_widget.qss:
--------------------------------------------------------------------------------
1 | HeaderCardWidget #headerLabel {
2 | color: black;
3 | }
4 |
5 | HeaderCardWidget > #headerView,
6 | HeaderCardWidget > #view {
7 | background-color: transparent;
8 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/window/__init__.py:
--------------------------------------------------------------------------------
1 | from .fluent_window import FluentWindow, MSFluentWindow, SplitFluentWindow, FluentTitleBar, MSFluentTitleBar, SplitTitleBar, FluentBackgroundTheme
2 | from .splash_screen import SplashScreen
--------------------------------------------------------------------------------
/lib/qfluentwidgets/multimedia/__init__.py:
--------------------------------------------------------------------------------
1 | from .media_player import MediaPlayer, MediaPlayerBase
2 | from .media_play_bar import MediaPlayBarButton, SimpleMediaPlayBar, StandardMediaPlayBar
3 | from .video_widget import VideoWidget
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/setting_card_group.qss:
--------------------------------------------------------------------------------
1 | SettingCardGroup {
2 | background-color: transparent;
3 | }
4 |
5 | SettingCardGroup>QLabel {
6 | background-color: transparent;
7 | color: black;
8 | border: none;
9 | }
--------------------------------------------------------------------------------
/app/common/signal_bus.py:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | from PyQt5.QtCore import QObject, pyqtSignal
3 |
4 |
5 | class SignalBus(QObject):
6 | """Signal bus"""
7 |
8 | micaEnableChanged = pyqtSignal(bool)
9 |
10 |
11 | signalBus = SignalBus()
12 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/setting_card_group.qss:
--------------------------------------------------------------------------------
1 | SettingCardGroup {
2 | background-color: transparent;
3 | }
4 |
5 | SettingCardGroup>QLabel {
6 | background-color: transparent;
7 | color: white;
8 | border: none;
9 | }
10 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/dialog_box/__init__.py:
--------------------------------------------------------------------------------
1 | from .color_dialog import ColorDialog
2 | from .dialog import Dialog, MessageBox
3 | from .folder_list_dialog import FolderListDialog
4 | from .message_dialog import MessageDialog
5 | from .message_box_base import MessageBoxBase
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/date_time/__init__.py:
--------------------------------------------------------------------------------
1 | from .calendar_picker import CalendarPicker
2 | from .date_picker import DatePickerBase, DatePicker, ZhDatePicker
3 | from .picker_base import PickerBase, PickerPanel, PickerColumnFormatter
4 | from .time_picker import TimePicker, AMTimePicker
--------------------------------------------------------------------------------
/lib/qframelesswindow/_rc/title_bar/close.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/app/resource/qss/light/setting_interface.qss:
--------------------------------------------------------------------------------
1 | SettingInterface, #scroll_widget {
2 | background-color: transparent;
3 | }
4 |
5 | QScrollArea {
6 | border: none;
7 | background-color: transparent;
8 | }
9 |
10 | QLabel#setting_label {
11 | font: 33px 'Microsoft YaHei Light';
12 | background-color: transparent;
13 | }
14 |
--------------------------------------------------------------------------------
/app/resource/qss/dark/setting_interface.qss:
--------------------------------------------------------------------------------
1 | SettingInterface, #scroll_widget {
2 | background-color: transparent;
3 | }
4 |
5 | QScrollArea {
6 | border: none;
7 | background-color: transparent;
8 | }
9 |
10 | QLabel#setting_label {
11 | font: 33px 'Microsoft YaHei Light';
12 | background-color: transparent;
13 | color: white;
14 | }
15 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/teaching_tip.qss:
--------------------------------------------------------------------------------
1 | #titleLabel {
2 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
3 | font-weight: bold;
4 | color: white;
5 | background-color: transparent;
6 | }
7 |
8 | #contentLabel {
9 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
10 | color: white;
11 | background-color: transparent;
12 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/teaching_tip.qss:
--------------------------------------------------------------------------------
1 | #titleLabel {
2 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
3 | font-weight: bold;
4 | color: black;
5 | background-color: transparent;
6 | }
7 |
8 | #contentLabel {
9 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
10 | color: black;
11 | background-color: transparent;
12 | }
--------------------------------------------------------------------------------
/app/resource/qss/dark/drop_card.qss:
--------------------------------------------------------------------------------
1 | #DropCard {
2 | background: transparent;
3 | border: 3px dashed --ThemeColorPrimary;
4 | border-radius: 5px;
5 | }
6 |
7 | #DropCard QLabel#area_label {
8 | font: 32px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
9 | font-weight: bold;
10 | background: transparent;
11 | border-radius: 5px;
12 | color: --ThemeColorPrimary;
13 | }
--------------------------------------------------------------------------------
/app/resource/qss/light/drop_card.qss:
--------------------------------------------------------------------------------
1 | #DropCard {
2 | background: transparent;
3 | border: 3px dashed --ThemeColorPrimary;
4 | border-radius: 5px;
5 | }
6 |
7 | #DropCard QLabel#area_label {
8 | font: 32px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
9 | font-weight: bold;
10 | background: transparent;
11 | border-radius: 5px;
12 | color: --ThemeColorPrimary;
13 | }
--------------------------------------------------------------------------------
/app/resource/resource.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/logo.png
4 |
5 | qss/dark/home_interface.qss
6 | qss/dark/setting_interface.qss
7 | qss/dark/drop_card.qss
8 |
9 | qss/light/home_interface.qss
10 | qss/light/setting_interface.qss
11 | qss/light/drop_card.qss
12 |
13 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/switch_button.qss:
--------------------------------------------------------------------------------
1 | QWidget {
2 | background-color: white;
3 | }
4 |
5 | SwitchButton {
6 | qproperty-spacing: 12;
7 | background-color: transparent;
8 | }
9 |
10 | SwitchButton>QLabel {
11 | color: black;
12 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
13 | background-color: transparent;
14 | border: none;
15 | }
16 |
17 | SwitchButton>QLabel:disabled {
18 | color: rgba(0, 0, 0, 0.36);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/app/components/tabbar_card.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | from PyQt5.QtWidgets import QHBoxLayout
3 |
4 | from lib import CardWidget
5 |
6 |
7 | class TabBarCard(CardWidget):
8 | """TabBarCard"""
9 |
10 | def __init__(self, parent=None):
11 | super().__init__(parent)
12 |
13 | self.setMaximumHeight(48)
14 |
15 | self.main_layout = QHBoxLayout(self)
16 | self.main_layout.setContentsMargins(0, 0, 10, 0)
17 | self.main_layout.setSpacing(12)
18 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/state_tool_tip.qss:
--------------------------------------------------------------------------------
1 | StateToolTip,
2 | ToastToolTip {
3 | background-color: --ThemeColorDark1;
4 | border: none;
5 | border-radius: 7px;
6 | }
7 |
8 | QLabel {
9 | color: black;
10 | background-color: transparent;
11 | font-family: 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
12 | border: none;
13 | }
14 |
15 | QLabel#titleLabel {
16 | font-size: 14px;
17 | }
18 |
19 | QLabel#contentLabel {
20 | font-size: 13px ;
21 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/state_tool_tip.qss:
--------------------------------------------------------------------------------
1 | StateToolTip,
2 | ToastToolTip {
3 | background-color: --ThemeColorDark1;
4 | border: none;
5 | border-radius: 7px;
6 | }
7 |
8 | QLabel {
9 | color: white;
10 | background-color: transparent;
11 | font-family: 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
12 | border: none;
13 | }
14 |
15 | QLabel#titleLabel {
16 | font-size: 14px;
17 | }
18 |
19 | QLabel#contentLabel {
20 | font-size: 13px;
21 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/switch_button.qss:
--------------------------------------------------------------------------------
1 | QWidget {
2 | background-color: transparent;
3 | }
4 |
5 | SwitchButton {
6 | qproperty-spacing: 12;
7 | background-color: transparent;
8 | }
9 |
10 | SwitchButton>QLabel {
11 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
12 | color: white;
13 | background-color: transparent;
14 | border: none;
15 | }
16 |
17 | SwitchButton>QLabel:disabled {
18 | color: rgba(255, 255, 255, 0.36);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/tool_tip.qss:
--------------------------------------------------------------------------------
1 | ToolTip {
2 | border-radius: 4px;
3 | }
4 |
5 | ToolTip>#container {
6 | border: 1px solid rgba(0, 0, 0, 0.06);
7 | background-color: rgb(243, 243, 243);
8 | border-radius: 4px;
9 | }
10 |
11 | ToolTip>#container[transparent=true] {
12 | background-color: transparent;
13 | }
14 |
15 |
16 | QLabel {
17 | background-color: transparent;
18 | font: 12px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
19 | border: none;
20 | color: black;
21 | }
--------------------------------------------------------------------------------
/app/common/style_sheet.py:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | from enum import Enum
3 |
4 | from lib import StyleSheetBase, Theme, qconfig
5 |
6 |
7 | class StyleSheet(StyleSheetBase, Enum):
8 | """Style sheet"""
9 |
10 | HOME_INTERFACE = "home_interface"
11 | SETTING_INTERFACE = "setting_interface"
12 | DROP_CARD = "drop_card"
13 |
14 | def path(self, theme=Theme.AUTO):
15 | theme = qconfig.theme if theme == Theme.AUTO else theme
16 | return f":/gallery/qss/{theme.value.lower()}/{self.value}.qss"
17 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/common/translator.py:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | from PyQt5.QtCore import QTranslator, QLocale
3 |
4 |
5 | class FluentTranslator(QTranslator):
6 | """ Translator of fluent widgets """
7 |
8 | def __init__(self, locale: QLocale = None, parent=None):
9 | super().__init__(parent=parent)
10 | self.load(locale or QLocale())
11 |
12 | def load(self, locale: QLocale):
13 | """ load translation file """
14 | super().load(f":/qfluentwidgets/i18n/qfluentwidgets.{locale.name()}.qm")
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/check_box.qss:
--------------------------------------------------------------------------------
1 | CheckBox {
2 | color: black;
3 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
4 | spacing: 8px;
5 | min-width: 28px;
6 | min-height: 22px;
7 | outline: none;
8 | margin-left: 1px;
9 | }
10 |
11 | CheckBox::indicator {
12 | width: 18px;
13 | height: 18px;
14 | border-radius: 5px;
15 | border: 1px solid transparent;
16 | background-color: transparent;
17 | }
18 |
19 | CheckBox:disabled {
20 | color: rgba(0, 0, 0, 0.36);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/check_box.qss:
--------------------------------------------------------------------------------
1 | CheckBox {
2 | color: white;
3 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
4 | spacing: 8px;
5 | min-width: 28px;
6 | min-height: 22px;
7 | outline: none;
8 | margin-left: 1px;
9 | }
10 |
11 | CheckBox::indicator {
12 | width: 18px;
13 | height: 18px;
14 | border-radius: 5px;
15 | border: 1px solid transparent;
16 | background-color: transparent;
17 | }
18 |
19 | CheckBox:disabled {
20 | color: rgba(255, 255, 255, 0.36);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Accept_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Accept_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/tool_tip.qss:
--------------------------------------------------------------------------------
1 | ToolTip {
2 | border-radius: 4px;
3 | }
4 |
5 | ToolTip > #container {
6 | background-color: rgb(43, 43, 43);
7 | border: 1px solid rgb(28, 28, 28);
8 | border-radius: 4px;
9 | }
10 |
11 | ToolTip>#container[transparent=true] {
12 | background-color: transparent;
13 | border: 1px solid rgba(0, 0, 0, 50);
14 | }
15 |
16 | QLabel {
17 | background-color: transparent;
18 | font: 12px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
19 | color: white;
20 | border: none;
21 | }
22 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Remove_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Remove_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/material/__init__.py:
--------------------------------------------------------------------------------
1 | from .acrylic_menu import AcrylicMenu, AcrylicLineEditMenu, AcrylicCheckableMenu, AcrylicCheckableSystemTrayMenu, AcrylicSystemTrayMenu
2 | from .acrylic_line_edit import AcrylicLineEditBase, AcrylicLineEdit, AcrylicSearchLineEdit
3 | from .acrylic_combo_box import AcrylicComboBox, AcrylicComboBoxSettingCard, AcrylicEditableComboBox
4 | from .acrylic_widget import AcrylicWidget, AcrylicBrush
5 | from .acrylic_flyout import AcrylicFlyoutView, AcrylicFlyoutViewBase, AcrylicFlyout
6 | from .acrylic_tool_tip import AcrylicToolTip, AcrylicToolTipFilter
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/label.qss:
--------------------------------------------------------------------------------
1 | FluentLabelBase {
2 | color: white;
3 | }
4 |
5 | HyperlinkLabel {
6 | color: --ThemeColorPrimary;
7 | border: none;
8 | background-color: transparent;
9 | text-align: left;
10 | padding: 0;
11 | margin: 0;
12 | }
13 |
14 | HyperlinkLabel[underline=true] {
15 | text-decoration: underline;
16 | }
17 |
18 | HyperlinkLabel[underline=false] {
19 | text-decoration: none;
20 | }
21 |
22 | HyperlinkLabel:hover {
23 | color: --ThemeColorDark1;
24 | }
25 |
26 | HyperlinkLabel:pressed {
27 | color: --ThemeColorLight1;
28 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/label.qss:
--------------------------------------------------------------------------------
1 | FluentLabelBase {
2 | color: black;
3 | }
4 |
5 | HyperlinkLabel {
6 | color: --ThemeColorPrimary;
7 | border: none;
8 | background-color: transparent;
9 | text-align: left;
10 | padding: 0;
11 | margin: 0;
12 | }
13 |
14 | HyperlinkLabel[underline=true] {
15 | text-decoration: underline;
16 | }
17 |
18 | HyperlinkLabel[underline=false] {
19 | text-decoration: none;
20 | }
21 |
22 | HyperlinkLabel:hover {
23 | color: --ThemeColorDark1;
24 | }
25 |
26 | HyperlinkLabel:pressed {
27 | color: --ThemeColorLight1;
28 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/settings/__init__.py:
--------------------------------------------------------------------------------
1 | from .setting_card import (SettingCard, SwitchSettingCard, RangeSettingCard,
2 | PushSettingCard, ColorSettingCard, HyperlinkCard,
3 | PrimaryPushSettingCard, ColorPickerButton, ComboBoxSettingCard)
4 | from .expand_setting_card import ExpandSettingCard, ExpandGroupSettingCard
5 | from .folder_list_setting_card import FolderListSettingCard
6 | from .options_setting_card import OptionsSettingCard
7 | from .custom_color_setting_card import CustomColorSettingCard
8 | from .setting_card_group import SettingCardGroup
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/check_box/PartialAccept_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/check_box/PartialAccept_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareRightSolid_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareRightSolid_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Down_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Down_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Up_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Up_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | PyQt-Fluent-Widgets
3 | ===================
4 | A fluent design widgets library based on PyQt5.
5 |
6 | Documentation is available in the docstrings and
7 | online at https://qfluentwidgets.com.
8 |
9 | Examples are available at https://github.com/zhiyiYo/PyQt-Fluent-Widgets/tree/master/examples.
10 |
11 | :copyright: (c) 2021 by zhiyiYo.
12 | :license: GPLv3 for non-commercial project, see README for more details.
13 | """
14 |
15 | __version__ = "1.6.3"
16 | __author__ = "zhiyiYo"
17 |
18 | from .components import *
19 | from .common import *
20 | from .window import *
21 | from ._rc import resource
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareLeftSolid_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareLeftSolid_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/LeftArrow_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/LeftArrow_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/spin_box/Up_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/spin_box/Up_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronRightMed_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/spin_box/Down_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/spin_box/Down_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/check_box/Accept_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/check_box/Accept_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronRightMed_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/RightArrow_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/RightArrow_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Return_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Return_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/tree_view/TreeViewClose_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/tree_view/TreeViewClose_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/AcceptMedium_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/AcceptMedium_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Market_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Market_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Send_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Send_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/common/__init__.py:
--------------------------------------------------------------------------------
1 | from .config import *
2 | from .font import setFont, getFont
3 | from .auto_wrap import TextWrap
4 | from .icon import Action, Icon, getIconColor, drawSvgIcon, FluentIcon, drawIcon, FluentIconBase, writeSvg
5 | from .style_sheet import (setStyleSheet, getStyleSheet, setTheme, ThemeColor, themeColor,
6 | setThemeColor, applyThemeColor, FluentStyleSheet, StyleSheetBase,
7 | StyleSheetFile, StyleSheetCompose, CustomStyleSheet, toggleTheme, setCustomStyleSheet)
8 | from .smooth_scroll import SmoothScroll, SmoothMode
9 | from .translator import FluentTranslator
10 | from .router import qrouter, Router
11 | from .color import FluentThemeColor
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareUpSolid_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareUpSolid_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qframelesswindow/webengine/__init__.py:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | import sys
3 |
4 | from PyQt5.QtCore import Qt
5 | from PyQt5.QtWebEngineWidgets import QWebEngineView
6 | from qframelesswindow import AcrylicWindow, FramelessWindow
7 |
8 |
9 | class FramelessWebEngineView(QWebEngineView):
10 | """ Frameless web engine view """
11 |
12 | def __init__(self, parent):
13 | if sys.platform == "win32" and isinstance(parent.window(), AcrylicWindow):
14 | parent.window().setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
15 |
16 | super().__init__(parent=parent)
17 | self.setHtml("")
18 |
19 | if isinstance(self.window(), FramelessWindow):
20 | self.window().updateFrameless()
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareDownSolid_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CareDownSolid_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/SendFill_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/SendFill_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/navigation_interface.qss:
--------------------------------------------------------------------------------
1 | NavigationPanel[menu=true] {
2 | background-color: rgb(32, 32, 32);
3 | border: 1px solid rgb(57, 57, 57);
4 | border-top-right-radius: 7px;
5 | border-bottom-right-radius: 7px;
6 | }
7 |
8 | NavigationPanel[menu=false] {
9 | background-color: transparent;
10 | border: 1px solid transparent;
11 | border-top-right-radius: 7px;
12 | border-bottom-right-radius: 7px;
13 | }
14 |
15 | NavigationPanel[transparent=true] {
16 | background-color: transparent;
17 | }
18 |
19 | QScrollArea,
20 | #scrollWidget {
21 | border: none;
22 | background-color: transparent;
23 | }
24 |
25 | /* NavigationInterface {
26 | background-color: rgb(32, 32, 32);
27 | } */
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/navigation_interface.qss:
--------------------------------------------------------------------------------
1 | NavigationPanel[menu=true] {
2 | background-color: rgb(243, 243, 243);
3 | border: 1px solid rgb(229, 229, 229);
4 | border-top-right-radius: 7px;
5 | border-bottom-right-radius: 7px;
6 | }
7 |
8 | NavigationPanel[menu=false] {
9 | background-color: transparent;
10 | border: 1px solid transparent;
11 | border-top-right-radius: 7px;
12 | border-bottom-right-radius: 7px;
13 | }
14 |
15 | NavigationPanel[transparent=true] {
16 | background-color: transparent;
17 | }
18 |
19 | QScrollArea, #scrollWidget {
20 | border: none;
21 | background-color: transparent;
22 | }
23 |
24 | /* NavigationInterface {
25 | background-color: rgb(243, 243, 243);
26 | } */
--------------------------------------------------------------------------------
/lib/qfluentwidgets/common/screen.py:
--------------------------------------------------------------------------------
1 | from PyQt5.QtCore import QPoint, QRect
2 | from PyQt5.QtGui import QCursor
3 | from PyQt5.QtWidgets import QApplication
4 |
5 |
6 | def getCurrentScreen():
7 | """ get current screen """
8 | cursorPos = QCursor.pos()
9 |
10 | for s in QApplication.screens():
11 | if s.geometry().contains(cursorPos):
12 | return s
13 |
14 | return None
15 |
16 |
17 | def getCurrentScreenGeometry(avaliable=True):
18 | """ get current screen geometry """
19 | screen = getCurrentScreen() or QApplication.primaryScreen()
20 |
21 | # this should not happen
22 | if not screen:
23 | return QRect(0, 0, 1920, 1080)
24 |
25 | return screen.availableGeometry() if avaliable else screen.geometry()
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/navigation/__init__.py:
--------------------------------------------------------------------------------
1 | from .navigation_widget import (NavigationWidget, NavigationPushButton, NavigationSeparator, NavigationToolButton,
2 | NavigationTreeWidget, NavigationTreeWidgetBase, NavigationAvatarWidget)
3 | from .navigation_panel import NavigationPanel, NavigationItemPosition, NavigationDisplayMode
4 | from .navigation_interface import NavigationInterface
5 | from .navigation_bar import NavigationBarPushButton, NavigationBar
6 | from .pivot import Pivot, PivotItem
7 | from .segmented_widget import (SegmentedItem, SegmentedWidget, SegmentedToolItem, SegmentedToolWidget,
8 | SegmentedToggleToolItem, SegmentedToggleToolWidget)
9 | from .breadcrumb import BreadcrumbBar, BreadcrumbItem
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/PlaySolid_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/PlaySolid_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/table_view/Down_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/table_view/Down_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/list_view.qss:
--------------------------------------------------------------------------------
1 | ListView,
2 | ListWidget {
3 | background: transparent;
4 | outline: none;
5 | border: none;
6 | /* font: 13px 'Segoe UI', 'Microsoft YaHei'; */
7 | selection-background-color: transparent;
8 | alternate-background-color: transparent;
9 | padding-left: 4px;
10 | padding-right: 4px;
11 | }
12 |
13 | ListView::item,
14 | ListWidget::item {
15 | background: transparent;
16 | border: 0px;
17 | padding-left: 11px;
18 | padding-right: 11px;
19 | height: 35px;
20 | }
21 |
22 | ListView::indicator,
23 | ListWidget::indicator {
24 | width: 18px;
25 | height: 18px;
26 | border-radius: 5px;
27 | border: none;
28 | background-color: transparent;
29 | margin-right: 4px;
30 | }
31 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Flag_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Bluetooth_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Bluetooth_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronDownMed_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Flag_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/list_view.qss:
--------------------------------------------------------------------------------
1 | ListView,
2 | ListWidget {
3 | background: transparent;
4 | outline: none;
5 | border: none;
6 | /* font: 13px 'Segoe UI', 'Microsoft YaHei'; */
7 | selection-background-color: transparent;
8 | alternate-background-color: transparent;
9 | padding-left: 4px;
10 | padding-right: 4px;
11 | }
12 |
13 | ListView::item,
14 | ListWidget::item {
15 | background: transparent;
16 | border: 0px;
17 | padding-left: 11px;
18 | padding-right: 11px;
19 | height: 35px;
20 | }
21 |
22 |
23 | ListView::indicator,
24 | ListWidget::indicator {
25 | width: 18px;
26 | height: 18px;
27 | border-radius: 5px;
28 | border: none;
29 | background-color: transparent;
30 | margin-right: 4px;
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronDownMed_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronRight_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronRight_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/tree_view/TreeViewOpen_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/tree_view/TreeViewOpen_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/common/exception_handler.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | from copy import deepcopy
3 |
4 |
5 |
6 | def exceptionHandler(*default):
7 | """ decorator for exception handling
8 |
9 | Parameters
10 | ----------
11 | *default:
12 | the default value returned when an exception occurs
13 | """
14 |
15 | def outer(func):
16 |
17 | def inner(*args, **kwargs):
18 | try:
19 | return func(*args, **kwargs)
20 | except BaseException as e:
21 | value = deepcopy(default)
22 | if len(value) == 0:
23 | return None
24 | elif len(value) == 1:
25 | return value[0]
26 |
27 | return value
28 |
29 | return inner
30 |
31 | return outer
32 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/HomeFill_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/HomeFill_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/table_view/Up_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/table_view/Up_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/common/setting.py:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | from pathlib import Path
3 | from PyQt5.QtCore import QStandardPaths
4 |
5 | # about project
6 | YEAR = 2024
7 | AUTHOR = "odest"
8 | VERSION = "v1.0.0"
9 | APP_NAME = "DonkeyDoc"
10 | RELEASE_URL = "https://github.com/odest/DonkeyDoc/releases/latest"
11 | API_URL = "https://api.github.com/repos/odest/DonkeyDoc/releases/latest"
12 |
13 | # about config
14 | CONFIG_FOLDER = (
15 | Path(QStandardPaths.writableLocation(QStandardPaths.AppDataLocation))
16 | / APP_NAME
17 | )
18 | CONFIG_FILE = CONFIG_FOLDER / "config.json"
19 |
20 | # about files
21 | SUPPORT_IMG_FORMAT = (".png", ".jpg", ".jpeg", ".bmp", ".tiff", ".svg")
22 | SUPPORT_FORMAT = (
23 | ".pdf",
24 | ".epub",
25 | ".txt",
26 | ".mobi",
27 | ".xps",
28 | ".fb2",
29 | ".cbz",
30 | ) + SUPPORT_IMG_FORMAT
31 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/BackToWindow_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/BackToWindow_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/EraseTool_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/EraseTool_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/material/acrylic_line_edit.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | from .acrylic_menu import AcrylicCompleterMenu, AcrylicLineEditMenu
3 | from ..widgets.line_edit import LineEdit, SearchLineEdit
4 |
5 |
6 | class AcrylicLineEditBase:
7 | """ Acrylic line edit base """
8 |
9 | def __init__(self, *args, **kwargs) -> None:
10 | super().__init__(*args, **kwargs)
11 |
12 | def setCompleter(self, completer):
13 | super().setCompleter(completer)
14 | self.setCompleterMenu(AcrylicCompleterMenu(self))
15 |
16 | def contextMenuEvent(self, e):
17 | menu = AcrylicLineEditMenu(self)
18 | menu.exec(e.globalPos())
19 |
20 |
21 |
22 | class AcrylicLineEdit(AcrylicLineEditBase, LineEdit):
23 | """ Acrylic line edit """
24 |
25 |
26 | class AcrylicSearchLineEdit(AcrylicLineEditBase, SearchLineEdit):
27 | """ Acrylic search line edit """
28 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Filter_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Filter_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/FullScreen_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/FullScreen_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/common/font.py:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | from PyQt5.QtGui import QFont
3 | from PyQt5.QtWidgets import QWidget
4 |
5 |
6 | def setFont(widget: QWidget, fontSize=14, weight=QFont.Normal):
7 | """ set the font of widget
8 |
9 | Parameters
10 | ----------
11 | widget: QWidget
12 | the widget to set font
13 |
14 | fontSize: int
15 | font pixel size
16 |
17 | weight: `QFont.Weight`
18 | font weight
19 | """
20 | widget.setFont(getFont(fontSize, weight))
21 |
22 |
23 | def getFont(fontSize=14, weight=QFont.Normal):
24 | """ create font
25 |
26 | Parameters
27 | ----------
28 | fontSize: int
29 | font pixel size
30 |
31 | weight: `QFont.Weight`
32 | font weight
33 | """
34 | font = QFont()
35 | font.setFamilies(['Segoe UI', 'Microsoft YaHei', 'PingFang SC'])
36 | font.setPixelSize(fontSize)
37 | font.setWeight(weight)
38 | return font
--------------------------------------------------------------------------------
/main.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | import os
3 | import sys
4 |
5 | from PyQt5.QtCore import Qt
6 | from PyQt5.QtWidgets import QApplication
7 |
8 | from app import cfg
9 | from app import MainWindow
10 |
11 |
12 | if __name__ == "__main__":
13 | # enable dpi scale
14 | if cfg.get(cfg.dpiScale) == "Auto":
15 | QApplication.setHighDpiScaleFactorRoundingPolicy(
16 | Qt.HighDpiScaleFactorRoundingPolicy.PassThrough
17 | )
18 | QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
19 | else:
20 | os.environ["QT_ENABLE_HIGHDPI_SCALING"] = "0"
21 | os.environ["QT_SCALE_FACTOR"] = str(cfg.get(cfg.dpiScale))
22 |
23 | QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)
24 |
25 | # create application
26 | app = QApplication(sys.argv)
27 | app.setAttribute(Qt.AA_DontCreateNativeWidgetSiblings)
28 |
29 | # create main window
30 | w = MainWindow()
31 | w.show()
32 |
33 | app.exec_()
34 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CancelMedium_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Scroll_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Scroll_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CancelMedium_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Broom_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Broom_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/GitHub_white.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/GitHub_black.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/combo_box.qss:
--------------------------------------------------------------------------------
1 | ComboBox {
2 | border: 1px solid rgba(0, 0, 0, 0.073);
3 | border-radius: 5px;
4 | border-bottom: 1px solid rgba(0, 0, 0, 0.183);
5 | padding: 5px 31px 6px 11px;
6 | /* font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC'; */
7 | color: black;
8 | background-color: rgba(255, 255, 255, 0.7);
9 | text-align: left;
10 | outline: none;
11 | }
12 |
13 | ComboBox:hover {
14 | background-color: rgba(249, 249, 249, 0.5);
15 | }
16 |
17 | ComboBox:pressed {
18 | background-color: rgba(249, 249, 249, 0.3);
19 | border-bottom: 1px solid rgba(0, 0, 0, 0.073);
20 | color: rgba(0, 0, 0, 0.63);
21 | }
22 |
23 | ComboBox:disabled {
24 | color: rgba(0, 0, 0, 0.36);
25 | background: rgba(249, 249, 249, 0.3);
26 | border: 1px solid rgba(0, 0, 0, 0.06);
27 | border-bottom: 1px solid rgba(0, 0, 0, 0.06);
28 | }
29 |
30 | ComboBox[isPlaceholderText=true] {
31 | color: rgba(0, 0, 0, 0.6063);
32 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/message_dialog.qss:
--------------------------------------------------------------------------------
1 | QWidget {
2 | background-color: white;
3 | border: 1px solid rgb(200, 200, 200);
4 | }
5 |
6 | QWidget#windowMask {
7 | background-color: rgba(255, 255, 255, 0.6);
8 | border: none;
9 | }
10 |
11 | QLabel {
12 | background-color: transparent;
13 | color: black;
14 | font-family: 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
15 | border: none;
16 | }
17 |
18 | QLabel#titleLabel {
19 | font-size: 18px;
20 | }
21 |
22 | QLabel#contentLabel {
23 | font-size: 14px;
24 | }
25 |
26 | QPushButton {
27 | background-color: rgb(204, 204, 204);
28 | font: 15px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
29 | border: transparent;
30 | }
31 |
32 | QPushButton:pressed:hover {
33 | background-color: rgb(153, 153, 153);
34 | }
35 |
36 | QPushButton:hover {
37 | background-color: rgb(230, 230, 230);
38 | }
39 |
40 | QPushButton:disabled {
41 | background-color: rgb(204, 204, 204);
42 | color: rgb(122, 122, 122);
43 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/message_dialog.qss:
--------------------------------------------------------------------------------
1 | QWidget {
2 | background-color: rgb(23, 23, 23);
3 | border: 1px solid rgb(55, 55, 55);
4 | }
5 |
6 | QWidget#windowMask {
7 | background-color: rgba(0, 0, 0, 0.6);
8 | border: none;
9 | }
10 |
11 | QLabel {
12 | background-color: transparent;
13 | color: white;
14 | font-family: 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
15 | border: none;
16 | }
17 |
18 | QLabel#titleLabel {
19 | font-size: 18px;
20 | }
21 |
22 | QLabel#contentLabel {
23 | font-size: 14px;
24 | }
25 |
26 | QPushButton {
27 | background-color: rgb(51, 51, 51);
28 | font: 15px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
29 | border: transparent;
30 | color: white;
31 | }
32 |
33 | QPushButton:pressed:hover {
34 | background-color: rgb(102, 102, 102);
35 | }
36 |
37 | QPushButton:hover {
38 | background-color: rgb(35, 35, 35);
39 | }
40 |
41 | QPushButton:disabled {
42 | background-color: rgb(51, 51, 51);
43 | color: rgb(133, 133, 133);
44 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/combo_box.qss:
--------------------------------------------------------------------------------
1 | ComboBox {
2 | border: 1px solid rgba(255, 255, 255, 0.053);
3 | border-radius: 5px;
4 | border-top: 1px solid rgba(255, 255, 255, 0.08);
5 | padding: 5px 31px 6px 11px;
6 | /* font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC'; */
7 | color: white;
8 | background-color: rgba(255, 255, 255, 0.0605);
9 | text-align: left;
10 | outline: none;
11 | }
12 |
13 | ComboBox:hover {
14 | background-color: rgba(255, 255, 255, 0.0837);
15 | }
16 |
17 | ComboBox:pressed {
18 | background-color: rgba(255, 255, 255, 0.0326);
19 | border-top: 1px solid rgba(255, 255, 255, 0.053);
20 | color: rgba(255, 255, 255, 0.63);
21 | }
22 |
23 | ComboBox:disabled {
24 | color: rgba(255, 255, 255, 0.3628);
25 | background: rgba(255, 255, 255, 0.0419);
26 | border: 1px solid rgba(255, 255, 255, 0.053);
27 | border-top: 1px solid rgba(255, 255, 255, 0.053);
28 | }
29 |
30 | ComboBox[isPlaceholderText=true] {
31 | color: rgba(255, 255, 255, 0.6063);
32 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Close_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Close_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/color_dialog/Clear_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/color_dialog/Clear_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Play_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Play_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronDown_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/FontIncrease_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/FontIncrease_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Mail_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Mail_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/ChevronDown_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/FontSize_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/FontSize_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/LibraryFill_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/LibraryFill_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Document_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Document_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/common/config.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | import sys
3 |
4 | from lib import (
5 | qconfig,
6 | QConfig,
7 | ConfigItem,
8 | BoolValidator,
9 | OptionsValidator,
10 | OptionsConfigItem,
11 | )
12 |
13 | from .setting import CONFIG_FILE
14 |
15 |
16 | def is_win_11():
17 | """is Windows 11
18 |
19 | Returns:
20 | bool: if platform is windows11 return True
21 | """
22 | return sys.platform == "win32" and sys.getwindowsversion().build >= 22000
23 |
24 |
25 | class Config(QConfig):
26 | """Config of application"""
27 |
28 | # main window
29 | micaEnabled = ConfigItem(
30 | "MainWindow", "MicaEnabled", is_win_11(), BoolValidator()
31 | )
32 | dpiScale = OptionsConfigItem(
33 | "MainWindow",
34 | "DpiScale",
35 | "Auto",
36 | OptionsValidator([1, 1.25, 1.5, 1.75, 2, "Auto"]),
37 | restart=True,
38 | )
39 |
40 | # software update
41 | checkUpdateAtStartUp = ConfigItem(
42 | "Update", "CheckUpdateAtStartUp", True, BoolValidator()
43 | )
44 |
45 |
46 | cfg = Config()
47 | qconfig.load(CONFIG_FILE, cfg)
48 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/info_bar.qss:
--------------------------------------------------------------------------------
1 | InfoBar {
2 | border: 1px solid rgb(29, 29, 29);
3 | border-radius: 6px;
4 | background-color: rgb(39, 39, 39);
5 | }
6 |
7 | #titleLabel {
8 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
9 | font-weight: bold;
10 | color: white;
11 | background-color: transparent;
12 | }
13 |
14 | #contentLabel {
15 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
16 | color: white;
17 | background-color: transparent;
18 | }
19 |
20 | InfoBar[type="Info"] {
21 | background-color: rgb(39, 39, 39);
22 | }
23 |
24 | InfoBar[type="Success"] {
25 | background-color: rgb(57, 61, 27);
26 | }
27 |
28 | InfoBar[type="Warning"] {
29 | background-color: rgb(67, 53, 25);
30 | }
31 |
32 | InfoBar[type="Error"] {
33 | background-color: rgb(68, 39, 38);
34 | }
35 |
36 | InfoBarCloseButton {
37 | background-color: transparent;
38 | border-radius: 5px;
39 | }
40 |
41 | InfoBarCloseButton:hover {
42 | background-color: rgba(255, 255, 255, 9);
43 | }
44 |
45 | InfoBarCloseButton:pressed {
46 | background-color: rgba(255, 255, 255, 6);
47 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/info_bar.qss:
--------------------------------------------------------------------------------
1 | InfoBar {
2 | border: 1px solid rgb(229, 229, 229);
3 | border-radius: 6px;
4 | background-color: rgb(244, 244, 244);
5 | }
6 |
7 | #titleLabel {
8 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
9 | font-weight: bold;
10 | color: black;
11 | background-color: transparent;
12 | }
13 |
14 | #contentLabel {
15 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
16 | color: black;
17 | background-color: transparent;
18 | }
19 |
20 | InfoBar[type="Info"] {
21 | background-color: rgb(244, 244, 244);
22 | }
23 |
24 | InfoBar[type="Success"] {
25 | background-color: rgb(223, 246, 221);
26 | }
27 |
28 | InfoBar[type="Warning"] {
29 | background-color: rgb(255, 244, 206);
30 | }
31 |
32 | InfoBar[type="Error"] {
33 | background-color: rgb(253, 231, 233);
34 | }
35 |
36 | InfoBarCloseButton {
37 | background-color: transparent;
38 | border-radius: 5px;
39 | }
40 |
41 | InfoBarCloseButton:hover {
42 | background-color: rgba(0, 0, 0, 9);
43 | }
44 |
45 | InfoBarCloseButton:pressed {
46 | background-color: rgba(0, 0, 0, 6);
47 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Unit_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Unit_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/PauseBold_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/PauseBold_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CheckBox_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/CheckBox_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qframelesswindow/utils/__init__.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | import sys
3 |
4 | if sys.platform == "win32":
5 | from .win32_utils import WindowsMoveResize as MoveResize
6 | from .win32_utils import getSystemAccentColor
7 | elif sys.platform == "darwin":
8 | from .mac_utils import MacMoveResize as MoveResize
9 | from .mac_utils import getSystemAccentColor
10 | else:
11 | from .linux_utils import LinuxMoveResize as MoveResize
12 | from .linux_utils import getSystemAccentColor
13 |
14 |
15 | def startSystemMove(window, globalPos):
16 | """ resize window
17 |
18 | Parameters
19 | ----------
20 | window: QWidget
21 | window
22 |
23 | globalPos: QPoint
24 | the global point of mouse release event
25 | """
26 | MoveResize.startSystemMove(window, globalPos)
27 |
28 |
29 | def starSystemResize(window, globalPos, edges):
30 | """ resize window
31 |
32 | Parameters
33 | ----------
34 | window: QWidget
35 | window
36 |
37 | globalPos: QPoint
38 | the global point of mouse release event
39 |
40 | edges: `Qt.Edges`
41 | window edges
42 | """
43 | MoveResize.starSystemResize(window, globalPos, edges)
44 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Megaphone_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Megaphone_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Edit_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Edit_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Menu_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Menu_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/light/folder_list_dialog.qss:
--------------------------------------------------------------------------------
1 | QWidget {
2 | background-color: white;
3 | border: 1px solid rgb(200, 200, 200);
4 | }
5 |
6 | QWidget#windowMask {
7 | background-color: rgba(255, 255, 255, 0.6);
8 | border: none;
9 | }
10 |
11 | QLabel {
12 | color: black;
13 | border: none;
14 | background-color: transparent;
15 | }
16 |
17 | QLabel#titleLabel {
18 | font: 20px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
19 | }
20 |
21 | QLabel#contentLabel {
22 | font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
23 | }
24 |
25 | QPushButton#completeButton {
26 | color: black;
27 | background-color: rgb(204, 204, 204);
28 | padding: 9px 51px 9px 51px;
29 | font: 15px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
30 | border: none;
31 | }
32 |
33 | QPushButton#completeButton:pressed:hover {
34 | background-color: rgb(153, 153, 153);
35 | }
36 |
37 | QPushButton#completeButton:hover {
38 | background-color: rgb(230, 230, 230);
39 | }
40 |
41 | QPushButton#completeButton:disabled {
42 | background-color: rgb(204, 204, 204);
43 | color: rgb(122, 122, 122);
44 | }
45 |
46 | QScrollArea{
47 | border: none;
48 | }
49 |
50 |
51 | #scrollWidget{
52 | border: none;
53 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Education_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Education_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Heart_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Heart_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Pin_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Pin_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Asterisk_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Asterisk_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Cafe_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Cafe_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/qss/dark/folder_list_dialog.qss:
--------------------------------------------------------------------------------
1 | QWidget {
2 | background-color: rgb(23, 23, 23);
3 | border: 1px solid rgb(53, 53, 53);
4 | }
5 |
6 | QWidget#windowMask {
7 | background-color: rgba(0, 0, 0, 0.6);
8 | border: none;
9 | }
10 |
11 | QLabel {
12 | border: none;
13 | color: white;
14 | background-color: transparent;
15 | }
16 |
17 | QLabel#titleLabel {
18 | font: 25px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
19 | }
20 |
21 | QLabel#contentLabel {
22 | font: 18px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
23 | }
24 |
25 | QPushButton#completeButton {
26 | background-color: rgb(51, 51, 51);
27 | padding: 11px 64px 11px 64px;
28 | font: 19px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
29 | border: none;
30 | height: 20px;
31 | width: 55px;
32 | color: white;
33 | }
34 |
35 | QPushButton#completeButton:pressed:hover {
36 | background-color: rgb(102, 102, 102);
37 | }
38 |
39 | QPushButton#completeButton:hover {
40 | background-color: rgb(35, 35, 35);
41 | }
42 |
43 | QPushButton#completeButton:disabled {
44 | background-color: rgb(51, 51, 51);
45 | color: rgb(122, 122, 122);
46 | }
47 |
48 | QScrollArea{
49 | border: none;
50 | background-color: rgb(23, 23, 23);
51 | }
52 |
53 |
54 | #scrollWidget{
55 | border: none;
56 | }
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Dictionary_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Dictionary_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/material/acrylic_tool_tip.py:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | from PyQt5.QtCore import QRect, QRectF
3 | from PyQt5.QtGui import QPainterPath
4 | from PyQt5.QtWidgets import QApplication, QFrame
5 |
6 | from .acrylic_widget import AcrylicWidget
7 | from ..widgets.tool_tip import ToolTip, ToolTipFilter
8 |
9 |
10 | class AcrylicToolTipContainer(AcrylicWidget, QFrame):
11 | """ Acrylic tool tip container """
12 |
13 | def __init__(self, parent=None):
14 | super().__init__(parent=parent)
15 | self.setProperty("transparent", True)
16 |
17 | def acrylicClipPath(self):
18 | path = QPainterPath()
19 | path.addRoundedRect(QRectF(self.rect().adjusted(1, 1, -1, -1)), 3, 3)
20 | return path
21 |
22 |
23 | class AcrylicToolTip(ToolTip):
24 | """ Acrylic tool tip """
25 |
26 | def _createContainer(self):
27 | return AcrylicToolTipContainer(self)
28 |
29 | def showEvent(self, e):
30 | pos = self.pos() + self.container.pos()
31 | self.container.acrylicBrush.grabImage(QRect(pos, self.container.size()))
32 | return super().showEvent(e)
33 |
34 |
35 | class AcrylicToolTipFilter(ToolTipFilter):
36 | """ Acrylic tool tip filter """
37 |
38 | def _createToolTip(self):
39 | return AcrylicToolTip(self.parent().toolTip(), self.parent().window())
40 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/info_bar/Success_dark.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/widgets/separator.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | from PyQt5.QtCore import Qt, pyqtSignal
3 | from PyQt5.QtGui import QPixmap, QPainter, QColor
4 | from PyQt5.QtWidgets import QWidget
5 |
6 | from ...common.style_sheet import isDarkTheme
7 |
8 |
9 | class HorizontalSeparator(QWidget):
10 | """ Horizontal separator """
11 |
12 | def __init__(self, parent=None):
13 | super().__init__(parent=parent)
14 | self.setFixedHeight(3)
15 |
16 | def paintEvent(self, e):
17 | painter = QPainter(self)
18 | painter.setRenderHints(QPainter.Antialiasing)
19 |
20 | if isDarkTheme():
21 | painter.setPen(QColor(255, 255, 255, 51))
22 | else:
23 | painter.setPen(QColor(0, 0, 0, 22))
24 |
25 | painter.drawLine(0, 1, self.width(), 1)
26 |
27 |
28 | class VerticalSeparator(QWidget):
29 | """ Vertical separator """
30 |
31 | def __init__(self, parent=None):
32 | super().__init__(parent=parent)
33 | self.setFixedWidth(3)
34 |
35 | def paintEvent(self, e):
36 | painter = QPainter(self)
37 | painter.setRenderHints(QPainter.Antialiasing)
38 |
39 | if isDarkTheme():
40 | painter.setPen(QColor(255, 255, 255, 51))
41 | else:
42 | painter.setPen(QColor(0, 0, 0, 22))
43 |
44 | painter.drawLine(1, 0, 1, self.height())
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/info_bar/Success_light.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | import setuptools
2 |
3 |
4 | __version__ = "1.0.0"
5 |
6 | with open("README.md", encoding="utf-8") as f:
7 | long_description = f.read()
8 |
9 | setuptools.setup(
10 | name="DonkeyDoc",
11 | version=__version__,
12 | keywords="cross-platform pyqt5 pdf-viewer ebook-reade pdf-reader fluent pdf-tools doc-viewer",
13 | author="odest",
14 | author_email="destrochloridium@gmail.com",
15 | description="A cross-platform fluent Doc Viewer.",
16 | long_description=long_description,
17 | long_description_content_type="text/markdown",
18 | license="GPLv3",
19 | url="https://github.com/odest/DonkeyDoc",
20 | packages=setuptools.find_packages(),
21 | install_requires=[
22 | "PyQt5>=5.15.0",
23 | "pymupdf",
24 | "darkdetect",
25 | "pywin32;platform_system=='Windows'",
26 | "xcffib;platform_system=='Linux'",
27 | "pyobjc;platform_system=='Darwin'",
28 | "PyCocoa;platform_system=='Darwin'",
29 | ],
30 | classifiers=[
31 | "Programming Language :: Python :: 3",
32 | "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
33 | "Operating System :: OS Independent",
34 | ],
35 | project_urls={
36 | "Source Code": "https://github.com/odest/DonkeyDoc",
37 | "Bug Tracker": "https://github.com/odest/DonkeyDoc/issues",
38 | },
39 | )
40 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Unpin_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Unpin_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Cloud_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Cloud_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/info_bar/Info_dark.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/info_bar/Info_light.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/info_bar/Warning_dark.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/info_bar/Warning_light.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Leaf_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Layout_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Layout_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Leaf_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/components/layout/v_box_layout.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 | from typing import List
3 | from PyQt5.QtCore import Qt
4 | from PyQt5.QtWidgets import QVBoxLayout, QWidget
5 |
6 |
7 | class VBoxLayout(QVBoxLayout):
8 | """ Vertical box layout """
9 |
10 | def __init__(self, parent):
11 | super().__init__(parent)
12 | self.widgets = []
13 |
14 | def addWidgets(self, widgets: List[QWidget], stretch=0, alignment=Qt.AlignTop):
15 | """ add widgets to layout """
16 | for widget in widgets:
17 | self.addWidget(widget, stretch, alignment)
18 |
19 | def addWidget(self, widget: QWidget, stretch=0, alignment=Qt.AlignTop):
20 | """ add widget to layout """
21 | super().addWidget(widget, stretch, alignment)
22 | self.widgets.append(widget)
23 | widget.show()
24 |
25 | def removeWidget(self, widget: QWidget):
26 | """ remove widget from layout but not delete it """
27 | super().removeWidget(widget)
28 | self.widgets.remove(widget)
29 |
30 | def deleteWidget(self, widget: QWidget):
31 | """ remove widget from layout and delete it """
32 | self.removeWidget(widget)
33 | widget.hide()
34 | widget.deleteLater()
35 |
36 | def removeAllWidget(self):
37 | """ remove all widgets from layout """
38 | for widget in self.widgets:
39 | super().removeWidget(widget)
40 |
41 | self.widgets.clear()
42 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Delete_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/Delete_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/qfluentwidgets/_rc/images/icons/PowerButton_black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------