Skip to content

Commit

Permalink
Merge pull request #356 from Capsize-Games/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
w4ffl35 authored Jan 9, 2024
2 parents 1a82cac + dd9bb6a commit 7ff1e35
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 51 deletions.
6 changes: 4 additions & 2 deletions src/airunner/aihandler/mixins/memory_efficient_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,15 +232,17 @@ def move_pipe_to_cpu(self):
if not self.pipe:
return
try:
self.pipe.to("cpu", self.data_type).float32()
self.pipe.to("cpu", self.data_type)
except NotImplementedError:
logger.warning("Not implemented error when moving to cpu")

if hasattr(self.pipe, "controlnet"):
try:
self.pipe.controlnet.to("cpu", self.data_type).float32()
self.pipe.controlnet.to("cpu", self.data_type)
except NotImplementedError:
logger.warning("Not implemented error when moving to cpu")
except AttributeError:
pass

def apply_cpu_offload(self):
if self.cpu_offload_applied == self.enable_model_cpu_offload:
Expand Down
59 changes: 57 additions & 2 deletions src/airunner/widgets/canvas_plus/canvas_plus_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from PyQt6.QtCore import Qt, QPoint, QPointF, QRect
from PyQt6.QtGui import QBrush, QColor, QPen, QPixmap, QPainter, QCursor
from PyQt6.QtWidgets import QGraphicsScene, QGraphicsItem, QGraphicsPixmapItem, QGraphicsLineItem
from PyQt6 import QtWidgets, QtCore

from airunner.aihandler.logger import Logger
from airunner.aihandler.settings_manager import SettingsManager
Expand All @@ -28,6 +29,8 @@ def __init__(self, parent, pixmap):
self.pixmap = pixmap
self.setFlag(QGraphicsItem.GraphicsItemFlag.ItemIsMovable, True)



def snap_to_grid(self):
grid_size = self.settings_manager.grid_settings.size
x = round(self.x() / grid_size) * grid_size
Expand Down Expand Up @@ -300,10 +303,13 @@ def current_layer_index(self, value):
def layer_container_widget(self):
return self.app.ui.layer_widget

@property
def active_grid_settings(self):
return self.settings_manager.active_grid_settings

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.canvas_settings = session.query(CanvasSettings).first()
self.active_grid_settings = session.query(ActiveGridSettings).first()
self.ui.central_widget.resizeEvent = self.resizeEvent
self.app.add_image_to_canvas_signal.connect(self.handle_add_image_to_canvas)
self.app.image_data.connect(self.handle_image_data)
Expand All @@ -320,6 +326,56 @@ def __init__(self, *args, **kwargs):
self.settings_manager.changed_signal.connect(self.handle_changed_signal)
self.app.loaded.connect(self.handle_loaded)

def increase_active_grid_height(self, amount):
height = self.settings_manager.working_height + self.settings_manager.grid_settings.size * amount
if height > 4096:
height = 4096
self.settings_manager.set_value("working_height", height)
self.do_draw()

def decrease_active_grid_height(self, amount):
height = self.settings_manager.working_height - self.settings_manager.grid_settings.size * amount
if height < 512:
height = 512
self.settings_manager.set_value("working_height", height)
self.do_draw()

def increase_active_grid_width(self, amount):
width = self.settings_manager.working_width + self.settings_manager.grid_settings.size * amount
if width > 4096:
width = 4096
self.settings_manager.set_value("working_width", width)
self.do_draw()

def decrease_active_grid_width(self, amount):
width = self.settings_manager.working_width - self.settings_manager.grid_settings.size * amount
if width < 512:
width = 512
self.settings_manager.set_value("working_width", width)
self.do_draw()

def wheelEvent(self, event):
modifiers = QtWidgets.QApplication.keyboardModifiers()
if modifiers == QtCore.Qt.KeyboardModifier.ControlModifier:
if event.angleDelta().y() > 0:
self.increase_active_grid_height(int(abs(event.angleDelta().y()) / 120))
else:
self.decrease_active_grid_height(int(abs(event.angleDelta().y()) / 120))
elif modifiers == QtCore.Qt.KeyboardModifier.ShiftModifier:
if event.angleDelta().y() > 0:
self.increase_active_grid_width(int(abs(event.angleDelta().y()) / 120))
else:
self.decrease_active_grid_width(int(abs(event.angleDelta().y()) / 120))
elif modifiers == QtCore.Qt.KeyboardModifier.ControlModifier | QtCore.Qt.KeyboardModifier.ShiftModifier:
if event.angleDelta().y() > 0:
self.increase_active_grid_height(int(abs(event.angleDelta().y()) / 120))
self.increase_active_grid_width(int(abs(event.angleDelta().y()) / 120))
else:
self.decrease_active_grid_height(int(abs(event.angleDelta().y()) / 120))
self.decrease_active_grid_width(int(abs(event.angleDelta().y()) / 120))
else:
super().wheelEvent(event) # Propagate the event to the base class if no modifier keys are pressed

def handle_changed_signal(self, key, value):
if key == "current_tab":
self.do_draw()
Expand Down Expand Up @@ -453,7 +509,6 @@ def draw_active_grid_area_container(self):
"""
Draw a rectangle around the active grid area of
"""
print(self.active_grid_area_rect)
if not self.active_grid_area:
self.active_grid_area = ActiveGridArea(
parent=self,
Expand Down
5 changes: 2 additions & 3 deletions src/airunner/windows/main/main_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ def action_show_model_manager(self):
self.activate_model_manager_section()

def action_show_prompt_builder(self):
self.show_section("Prompt Builder")
self.toggle_prompt_builder(True)

def action_show_controlnet(self):
self.show_section("controlnet")
Expand Down Expand Up @@ -893,8 +893,7 @@ def set_splitter_sizes(self):
def show_section(self, section):
section_lists = {
"center": [self.ui.center_tab.tabText(i) for i in range(self.ui.center_tab.count())],
"right": [self.ui.tool_tab_widget.tabText(i) for i in range(self.ui.tool_tab_widget.count())],
"bottom": [self.ui.bottom_panel_tab_widget.tabText(i) for i in range(self.ui.bottom_panel_tab_widget.count())]
"right": [self.ui.tool_tab_widget.tabText(i) for i in range(self.ui.tool_tab_widget.count())]
}
for k, v in section_lists.items():
if section in v:
Expand Down
25 changes: 2 additions & 23 deletions src/airunner/windows/main/templates/main_window.ui
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<x>0</x>
<y>0</y>
<width>1201</width>
<height>970</height>
<height>1024</height>
</rect>
</property>
<property name="sizePolicy">
Expand Down Expand Up @@ -674,7 +674,7 @@
<x>0</x>
<y>0</y>
<width>407</width>
<height>841</height>
<height>895</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
Expand Down Expand Up @@ -1278,26 +1278,6 @@
<addaction name="actionReport_vulnerability"/>
<addaction name="actionDiscord"/>
</widget>
<widget class="QMenu" name="menuModel_merge">
<property name="title">
<string>Tools</string>
</property>
<addaction name="actionModel_Merger"/>
<addaction name="separator"/>
<addaction name="actionStableDiffusion"/>
<addaction name="separator"/>
<addaction name="actionPrompt_Builder"/>
<addaction name="actionModel_Manager_2"/>
<addaction name="separator"/>
<addaction name="actionEmbeddings"/>
<addaction name="actionLoRA"/>
<addaction name="actionPen"/>
<addaction name="actionActive_Grid"/>
<addaction name="separator"/>
<addaction name="actionStandard_Batches"/>
<addaction name="separator"/>
<addaction name="actionLLM_beta"/>
</widget>
<widget class="QMenu" name="menuImage">
<property name="title">
<string>Image</string>
Expand Down Expand Up @@ -1336,7 +1316,6 @@
<addaction name="menuEdit"/>
<addaction name="menuView"/>
<addaction name="menuImage"/>
<addaction name="menuModel_merge"/>
<addaction name="menuFilters"/>
<addaction name="menuAbout"/>
</widget>
Expand Down
23 changes: 2 additions & 21 deletions src/airunner/windows/main/templates/main_window_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1201, 970)
MainWindow.resize(1201, 1024)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
Expand Down Expand Up @@ -253,7 +253,7 @@ def setupUi(self, MainWindow):
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setObjectName("scrollArea")
self.scrollAreaWidgetContents = QtWidgets.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 407, 841))
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 407, 895))
self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents)
self.gridLayout.setObjectName("gridLayout")
Expand Down Expand Up @@ -496,8 +496,6 @@ def setupUi(self, MainWindow):
self.menuAbout = QtWidgets.QMenu(parent=self.menubar)
self.menuAbout.setTearOffEnabled(False)
self.menuAbout.setObjectName("menuAbout")
self.menuModel_merge = QtWidgets.QMenu(parent=self.menubar)
self.menuModel_merge.setObjectName("menuModel_merge")
self.menuImage = QtWidgets.QMenu(parent=self.menubar)
self.menuImage.setObjectName("menuImage")
self.menuView = QtWidgets.QMenu(parent=self.menubar)
Expand Down Expand Up @@ -736,21 +734,6 @@ def setupUi(self, MainWindow):
self.menuAbout.addAction(self.actionBug_report)
self.menuAbout.addAction(self.actionReport_vulnerability)
self.menuAbout.addAction(self.actionDiscord)
self.menuModel_merge.addAction(self.actionModel_Merger)
self.menuModel_merge.addSeparator()
self.menuModel_merge.addAction(self.actionStableDiffusion)
self.menuModel_merge.addSeparator()
self.menuModel_merge.addAction(self.actionPrompt_Builder)
self.menuModel_merge.addAction(self.actionModel_Manager_2)
self.menuModel_merge.addSeparator()
self.menuModel_merge.addAction(self.actionEmbeddings)
self.menuModel_merge.addAction(self.actionLoRA)
self.menuModel_merge.addAction(self.actionPen)
self.menuModel_merge.addAction(self.actionActive_Grid)
self.menuModel_merge.addSeparator()
self.menuModel_merge.addAction(self.actionStandard_Batches)
self.menuModel_merge.addSeparator()
self.menuModel_merge.addAction(self.actionLLM_beta)
self.menuImage.addAction(self.actionImport)
self.menuImage.addAction(self.actionExport)
self.menuImage.addSeparator()
Expand All @@ -774,7 +757,6 @@ def setupUi(self, MainWindow):
self.menubar.addAction(self.menuEdit.menuAction())
self.menubar.addAction(self.menuView.menuAction())
self.menubar.addAction(self.menuImage.menuAction())
self.menubar.addAction(self.menuModel_merge.menuAction())
self.menubar.addAction(self.menuFilters.menuAction())
self.menubar.addAction(self.menuAbout.menuAction())

Expand Down Expand Up @@ -864,7 +846,6 @@ def retranslateUi(self, MainWindow):
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
self.menuFilters.setTitle(_translate("MainWindow", "Filters"))
self.menuAbout.setTitle(_translate("MainWindow", "Help"))
self.menuModel_merge.setTitle(_translate("MainWindow", "Tools"))
self.menuImage.setTitle(_translate("MainWindow", "Image"))
self.menuView.setTitle(_translate("MainWindow", "View"))
self.menuBrowse_Models_Path.setTitle(_translate("MainWindow", "Browse Models Paths"))
Expand Down

0 comments on commit 7ff1e35

Please sign in to comment.