Skip to content

Commit 0bdde52

Browse files
committed
Move disconnected helper to utils
1 parent 3d724d0 commit 0bdde52

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

Orange/widgets/data/oweditdomain.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import warnings
99
from xml.sax.saxutils import escape
1010
from itertools import zip_longest, repeat, chain
11-
from contextlib import contextmanager
1211
from collections import namedtuple, Counter
1312
from functools import singledispatch, partial
1413
from typing import (
@@ -44,7 +43,7 @@
4443
from Orange.misc.collections import DictMissingConst
4544
from Orange.util import frompyfunc
4645
from Orange.widgets import widget, gui, settings
47-
from Orange.widgets.utils import itemmodels, ftry
46+
from Orange.widgets.utils import itemmodels, ftry, disconnected
4847
from Orange.widgets.utils.buttons import FixedSizeButton
4948
from Orange.widgets.utils.itemmodels import signal_blocking
5049
from Orange.widgets.utils.widgetpreview import WidgetPreview
@@ -870,15 +869,6 @@ def get_dialog_settings(self) -> Dict[str, Any]:
870869
return settings_dict
871870

872871

873-
@contextmanager
874-
def disconnected(signal, slot, connection_type=Qt.AutoConnection):
875-
signal.disconnect(slot)
876-
try:
877-
yield
878-
finally:
879-
signal.connect(slot, connection_type)
880-
881-
882872
#: In 'reordable' models holds the original position of the item
883873
#: (if applicable).
884874
SourcePosRole = Qt.UserRole

Orange/widgets/utils/__init__.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import inspect
22
import sys
33
from collections import deque
4+
from contextlib import contextmanager
45
from enum import Enum, IntEnum
56
from typing import (
67
TypeVar, Callable, Any, Iterable, Optional, Hashable, Type, Union, Tuple
78
)
89
from xml.sax.saxutils import escape
910

10-
from AnyQt.QtCore import QObject
11+
from AnyQt.QtCore import QObject, Qt
1112

1213
from Orange.data.variable import TimeVariable
1314
from Orange.util import deepgetattr
@@ -194,3 +195,12 @@ def enum2int(enum: Union[Enum, IntEnum]) -> int:
194195
Settings transformed to int
195196
"""
196197
return int(enum) if isinstance(enum, int) else enum.value
198+
199+
200+
@contextmanager
201+
def disconnected(signal, slot, connection_type=Qt.AutoConnection):
202+
signal.disconnect(slot)
203+
try:
204+
yield
205+
finally:
206+
signal.connect(slot, connection_type)

0 commit comments

Comments
 (0)