Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
deeffest authored May 13, 2024
1 parent 1e60566 commit ac91589
Show file tree
Hide file tree
Showing 14 changed files with 827 additions and 255 deletions.
25 changes: 18 additions & 7 deletions core/_init_connect.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,30 @@
import sys

from PyQt5.QtWidgets import qApp
from PyQt5.QtGui import QStatusTipEvent
from PyQt5.QtCore import QObject, QEvent

class StatusTipFilter(QObject):
def eventFilter(self, watched: QObject, event: QEvent) -> bool:
if isinstance(event, QStatusTipEvent):
return True
return super().eventFilter(watched, event)

def _init_connect(self):
self.actionOpen_Image.triggered.connect(self.open_file_dialog)
self.actionExit_2.triggered.connect(self.exit_app)
self.folder_contents_widget.lineEdit.textChanged.connect(self.filter_list_items)
self.actionFull_Screen.triggered.connect(self.full_screen)
self.toolButton_3.clicked.connect(self.full_screen)
self.actionDark_Theme.triggered.connect(self.toggle_dark_theme)
self.actionSlide_Show.triggered.connect(self.slide_show)
self.actionZoom_In.triggered.connect(self.zoom_in)
self.actionZoom_Out.triggered.connect(self.zoom_out)
self.actionRotate.triggered.connect(self.rotate_image)
self.actionSet_as_Wallpaper.triggered.connect(self.set_wallpaper)
self.actionSettings.triggered.connect(self.open_settings)
self.actionPrevious.triggered.connect(self.previous)
self.toolButton.clicked.connect(self.previous)
self.actionNext.triggered.connect(self.next)
self.toolButton_2.clicked.connect(self.next)
self.actionCheck_Updates.triggered.connect(self.check_for_updates)
self.actionAbout.triggered.connect(self.about)
self.actionAbout_Qt.triggered.connect(lambda: qApp.aboutQt())

self.image_viewer.customContextMenuRequested.connect(self.show_context_menu)
self.scrollArea.installEventFilter(self)
self.image_viewer.installEventFilter(self)
self.installEventFilter(StatusTipFilter(self))
31 changes: 29 additions & 2 deletions core/_init_content.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,33 @@
from PyQt5.QtWidgets import QAction, QSizePolicy, QWidget
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QWidget, QSizePolicy, QLabel

def _init_content(self):
self.zoom_label = QLabel(self)
self.statusbar.addPermanentWidget(self.zoom_label)

self.create_folder_contents_menu()
self.actionFolder_Contents_3.setVisible(False)

self.toolBar.addAction(self.actionOpen_Image)
self.toolBar.addSeparator()

self.toolBar.addAction(self.actionPrevious)
self.toolBar.addAction(self.actionNext)
self.toolBar.addSeparator()

self.toolBar.addAction(self.actionZoom_In)
self.toolBar.addAction(self.actionZoom_Out)
self.toolBar.addAction(self.actionRotate)
self.toolBar.addSeparator()

spacer = QWidget()
spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.toolBar.addWidget(spacer)

self.toolBar.addAction(self.actionSlide_Show)
self.toolBar.addSeparator()
self.toolBar.addAction(self.actionFull_Screen)

self.set_timer()

if self.image_path:
self.open_image(self.image_path)
54 changes: 18 additions & 36 deletions core/_init_icons.py
Original file line number Diff line number Diff line change
@@ -1,39 +1,21 @@
from PyQt5.QtGui import QIcon, QPixmap

def _init_icons(self):
icons = {
"toolButton": {
"normal": f'{self.current_dir}/resources/icons/{self.settings.value("app_theme", "dark")}/arrow_back_ios.svg',
"normal_off": None,
"disabled": f'{self.current_dir}/resources/icons/disabled/arrow_back_ios.svg',
"disabled_off": None,
},
"toolButton_2": {
"normal": f'{self.current_dir}/resources/icons/{self.settings.value("app_theme", "dark")}/arrow_forward_ios.svg',
"normal_off": None,
"disabled": f'{self.current_dir}/resources/icons/disabled/arrow_forward_ios.svg',
"disabled_off": None,
},
"toolButton_3": {
"normal": f'{self.current_dir}/resources/icons/{self.settings.value("app_theme", "dark")}/open_in_full.svg',
"normal_off": f'{self.current_dir}/resources/icons/{self.settings.value("app_theme", "dark")}/close_fullscreen.svg',
"disabled": None,
"disabled_off": None,
},
}
import qtawesome as qta

for action_name, icon_paths in icons.items():
action = getattr(self, action_name, None)
if action:
icon = QIcon()
if icon_paths.get("normal"):
icon.addPixmap(QPixmap(icon_paths["normal"]), QIcon.Normal, QIcon.Off)
if icon_paths.get("normal_off"):
icon.addPixmap(QPixmap(icon_paths["normal_off"]), QIcon.Normal, QIcon.On)
if icon_paths.get("disabled"):
icon.addPixmap(QPixmap(icon_paths["disabled"]), QIcon.Disabled, QIcon.Off)
if icon_paths.get("disabled_off"):
icon.addPixmap(QPixmap(icon_paths["disabled_off"]), QIcon.Disabled, QIcon.On)
action.setIcon(icon)
else:
print(f"Action {action_name} not found in the Window class.")
def _init_icons(self):
self.actionOpen_Image.setIcon(qta.icon('ei.file-new'))
self.actionExit_2.setIcon(qta.icon('fa.close'))
self.actionFull_Screen.setIcon(qta.icon('ei.resize-full'))
self.actionSlide_Show.setIcon(qta.icon('ri.slideshow-2-line'))
self.actionZoom_In.setIcon(qta.icon('ei.zoom-in'))
self.actionZoom_Out.setIcon(qta.icon('ei.zoom-out'))
self.actionRotate.setIcon(qta.icon('fa.rotate-left'))
self.menuSet_As.setIcon(qta.icon('mdi.image-move'))
self.actionSet_as_Wallpaper.setIcon(qta.icon('mdi.wallpaper'))
self.actionSettings.setIcon(qta.icon('ri.settings-4-fill'))
self.actionPrevious.setIcon(qta.icon('ei.chevron-left'))
self.actionNext.setIcon(qta.icon('ei.chevron-right'))
self.menuFolder_Contents.setIcon(qta.icon('ei.folder-open'))
self.actionCheck_Updates.setIcon(qta.icon('ei.search'))
self.actionAbout.setIcon(qta.icon('ei.info-circle'))
self.actionAbout_Qt.setIcon(QIcon(f'{self.current_dir}/resources/icons/qt.png'))
39 changes: 21 additions & 18 deletions core/_init_menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,31 @@
def _init_menu(self, point):
contextMenu = QMenu(self)

for action in self.menuFile.actions():
if isinstance(action, QMenu):
contextMenu.addMenu(action.menu())
else:
contextMenu.addAction(action)
contextMenu.addAction(self.actionOpen_Image)
contextMenu.addSeparator()

contextMenu.addAction(self.actionFull_Screen)
contextMenu.addAction(self.actionSlide_Show)
contextMenu.addSeparator()

for action in self.menuView.actions():
if isinstance(action, QMenu):
contextMenu.addMenu(action.menu())
else:
contextMenu.addAction(action)
contextMenu.addSeparator()

for action in self.menuNavigate.actions():
if isinstance(action, QMenu):
contextMenu.addMenu(action.menu())
else:
contextMenu.addAction(action)
contextMenu.addAction(self.actionZoom_In)
contextMenu.addAction(self.actionZoom_Out)
contextMenu.addAction(self.actionRotate)
contextMenu.addSeparator()

contextMenu.addMenu(self.menuHelp)
contextMenu.addAction(self.actionPrevious)
contextMenu.addAction(self.actionNext)
contextMenu.addSeparator()

contextMenu.addMenu(self.menuFolder_Contents)
contextMenu.addSeparator()

contextMenu.addMenu(self.menuSet_As)
contextMenu.addSeparator()

contextMenu.addAction(self.actionSettings)
contextMenu.addSeparator()

contextMenu.addAction(self.actionExit_2)

contextMenu.exec_(self.image_viewer.mapToGlobal(point))
5 changes: 5 additions & 0 deletions core/_init_shortcuts.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ def _init_shortcuts(self):
Qt.Key_Left: self.previous,
Qt.Key_Right: self.next,
Qt.Key_F11: self.full_screen,
Qt.Key_F10: lambda: self.slide_show_shortcut(self.actionSlide_Show.isChecked()),
Qt.CTRL + Qt.Key_S: self.open_settings,
Qt.CTRL + Qt.Key_R: self.rotate_image,
Qt.CTRL + Qt.Key_W: self.set_wallpaper,
Qt.CTRL + Qt.Key_E: self.exit_app,
}

for key, value in shortcuts.items():
Expand Down
14 changes: 12 additions & 2 deletions core/_init_styles.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ def _init_styles(self):
self.setStyleSheet("""
QToolTip {
background-color: rgb(44,44,44);
border: 1px solid rgb(29,29,29);
border: 1px solid rgb(93,93,93);
color: white;
}
""")
Expand All @@ -19,14 +19,19 @@ def _init_styles(self):
self.statusbar.setStyleSheet("""
QStatusBar {
background-color: rgb(32,32,32);
}
""")
self.toolBar.setStyleSheet("""
QToolBar {
background-color: rgb(32,32,32);
border-top: 1px solid rgb(29,29,29);
}
""")
else:
self.setStyleSheet("""
QToolTip {
background-color: rgb(249,249,249);
border: 1px solid rgb(229,229,229);
border: 1px solid rgb(171,171,171);
color: black;
}
""")
Expand All @@ -39,6 +44,11 @@ def _init_styles(self):
self.statusbar.setStyleSheet("""
QStatusBar {
background-color: rgb(243,243,243);
}
""")
self.toolBar.setStyleSheet("""
QToolBar {
background-color: rgb(243,243,243);
border-top: 1px solid rgb(230,230,230);
}
""")
Loading

0 comments on commit ac91589

Please sign in to comment.