Skip to content

Commit 7460d8b

Browse files
committed
dialog arg updates.
1 parent c961eee commit 7460d8b

File tree

5 files changed

+62
-14
lines changed

5 files changed

+62
-14
lines changed

.github/workflows/sphinx_doc_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
# Install the python dependencies required for building.
3232
- name: Install Dependencies
3333
run: |
34-
pip install sphinx
34+
pip install sphinx==7.1.2
3535
pip install bs4
3636
pip install PySide2
3737
pip install Qt.py

NodeGraphQt/base/graph.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2254,7 +2254,8 @@ def auto_layout_nodes(self, nodes=None, down_stream=True, start_nodes=None):
22542254
# convenience dialog functions.
22552255
# --------------------------------------------------------------------------
22562256

2257-
def question_dialog(self, text, title='Node Graph', parent=None):
2257+
def question_dialog(self, text, title='Node Graph', dialog_icon=None,
2258+
custom_icon=None, parent=None):
22582259
"""
22592260
Prompts a question open dialog with ``"Yes"`` and ``"No"`` buttons in
22602261
the node graph.
@@ -2266,14 +2267,19 @@ def question_dialog(self, text, title='Node Graph', parent=None):
22662267
Args:
22672268
text (str): question text.
22682269
title (str): dialog window title.
2270+
dialog_icon (str): display icon. ("information", "warning", "critical")
2271+
custom_icon (str): custom icon to display.
22692272
parent (QtWidgets.QObject): override dialog parent. (optional)
22702273
22712274
Returns:
22722275
bool: true if user clicked yes.
22732276
"""
2274-
return self._viewer.question_dialog(text, title, parent)
2277+
return self._viewer.question_dialog(
2278+
text, title, dialog_icon, custom_icon, parent
2279+
)
22752280

2276-
def message_dialog(self, text, title='Node Graph', parent=None):
2281+
def message_dialog(self, text, title='Node Graph', dialog_icon=None,
2282+
custom_icon=None, parent=None):
22772283
"""
22782284
Prompts a file open dialog in the node graph.
22792285
@@ -2284,9 +2290,13 @@ def message_dialog(self, text, title='Node Graph', parent=None):
22842290
Args:
22852291
text (str): message text.
22862292
title (str): dialog window title.
2293+
dialog_icon (str): display icon. ("information", "warning", "critical")
2294+
custom_icon (str): custom icon to display.
22872295
parent (QtWidgets.QObject): override dialog parent. (optional)
22882296
"""
2289-
self._viewer.message_dialog(text, title, parent)
2297+
self._viewer.message_dialog(
2298+
text, title, dialog_icon, custom_icon, parent
2299+
)
22902300

22912301
def load_dialog(self, current_dir=None, ext=None, parent=None):
22922302
"""

NodeGraphQt/custom_widgets/properties_bin/node_property_widgets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ def __init__(self, parent=None, node=None):
318318
close_btn = QtWidgets.QPushButton()
319319
close_btn.setIcon(QtGui.QIcon(
320320
self.style().standardPixmap(
321-
QtWidgets.QStyle.SP_DialogCancelButton
321+
QtWidgets.QStyle.SP_DialogCloseButton
322322
)
323323
))
324324
close_btn.setMaximumWidth(40)

NodeGraphQt/widgets/dialogs.py

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22

3-
from Qt import QtWidgets
3+
from Qt import QtWidgets, QtGui, QtCore
44

55
_current_user_directory = os.path.expanduser('~')
66

@@ -43,20 +43,50 @@ def getOpenFileName(parent=None, title='Open File', file_dir=None,
4343
class BaseDialog(object):
4444

4545
@staticmethod
46-
def message_dialog(parent=None, text='', title='Message'):
46+
def message_dialog(parent=None, text='', title='Message', dialog_icon=None,
47+
custom_icon=None):
4748
dlg = QtWidgets.QMessageBox(parent=parent)
4849
dlg.setWindowTitle(title)
4950
dlg.setInformativeText(text)
5051
dlg.setStandardButtons(QtWidgets.QMessageBox.Ok)
52+
53+
if custom_icon:
54+
pixmap = QtGui.QPixmap(custom_icon).scaledToHeight(
55+
32, QtCore.Qt.SmoothTransformation
56+
)
57+
dlg.setIconPixmap(pixmap)
58+
else:
59+
if dialog_icon == 'information':
60+
dlg.setIcon(dlg.Information)
61+
elif dialog_icon == 'warning':
62+
dlg.setIcon(dlg.Warning)
63+
elif dialog_icon == 'critical':
64+
dlg.setIcon(dlg.Critical)
65+
5166
dlg.exec_()
5267

5368
@staticmethod
54-
def question_dialog(parent=None, text='', title='Are you sure?'):
69+
def question_dialog(parent=None, text='', title='Are you sure?',
70+
dialog_icon=None, custom_icon=None):
5571
dlg = QtWidgets.QMessageBox(parent=parent)
5672
dlg.setWindowTitle(title)
5773
dlg.setInformativeText(text)
5874
dlg.setStandardButtons(
5975
QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No
6076
)
77+
78+
if custom_icon:
79+
pixmap = QtGui.QPixmap(custom_icon).scaledToHeight(
80+
32, QtCore.Qt.SmoothTransformation
81+
)
82+
dlg.setIconPixmap(pixmap)
83+
else:
84+
if dialog_icon == 'information':
85+
dlg.setIcon(dlg.Information)
86+
elif dialog_icon == 'warning':
87+
dlg.setIcon(dlg.Warning)
88+
elif dialog_icon == 'critical':
89+
dlg.setIcon(dlg.Critical)
90+
6191
result = dlg.exec_()
6292
return bool(result == QtWidgets.QMessageBox.Yes)

NodeGraphQt/widgets/viewer.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ def establish_connection(self, start_port, end_port):
11441144
@staticmethod
11451145
def acyclic_check(start_port, end_port):
11461146
"""
1147-
Validate the node connections so it doesn't loop itself.
1147+
Validate the node connections, so it doesn't loop itself.
11481148
11491149
Args:
11501150
start_port (PortItem): port item.
@@ -1224,13 +1224,16 @@ def context_menus(self):
12241224
"""
12251225
return {'graph': self._ctx_graph_menu, 'nodes': self._ctx_node_menu}
12261226

1227-
def question_dialog(self, text, title='Node Graph', parent=None):
1227+
def question_dialog(self, text, title='Node Graph', dialog_icon=None,
1228+
custom_icon=None, parent=None):
12281229
"""
12291230
Prompt node viewer question dialog widget with "yes", "no" buttons.
12301231
12311232
Args:
12321233
text (str): dialog text.
12331234
title (str): dialog window title.
1235+
dialog_icon (str): display icon. ("information", "warning", "critical")
1236+
custom_icon (str): custom icon to display.
12341237
parent (QtWidgets.QObject): override dialog parent. (optional)
12351238
12361239
Returns:
@@ -1239,21 +1242,26 @@ def question_dialog(self, text, title='Node Graph', parent=None):
12391242
parent = parent or self
12401243

12411244
self.clear_key_state()
1242-
return BaseDialog.question_dialog(parent, text, title)
1245+
return BaseDialog.question_dialog(
1246+
parent, text, title, dialog_icon, custom_icon
1247+
)
12431248

1244-
def message_dialog(self, text, title='Node Graph', parent=None):
1249+
def message_dialog(self, text, title='Node Graph', dialog_icon=None,
1250+
custom_icon=None, parent=None):
12451251
"""
12461252
Prompt node viewer message dialog widget with "ok" button.
12471253
12481254
Args:
12491255
text (str): dialog text.
12501256
title (str): dialog window title.
1257+
dialog_icon (str): display icon. ("information", "warning", "critical")
1258+
custom_icon (str): custom icon to display.
12511259
parent (QtWidgets.QObject): override dialog parent. (optional)
12521260
"""
12531261
parent = parent or self
12541262

12551263
self.clear_key_state()
1256-
BaseDialog.message_dialog(parent, text, title)
1264+
BaseDialog.message_dialog(parent, text, title, dialog_icon, custom_icon)
12571265

12581266
def load_dialog(self, current_dir=None, ext=None, parent=None):
12591267
"""

0 commit comments

Comments
 (0)