Skip to content

Commit 4e1c8a6

Browse files
authored
Merge pull request #2875 from ales-erjavec/owwidget-tips-non-versioned
[FIX] OWWidget: Store quicktip displayed state in non versioned settings dir
2 parents 23f3ca9 + f2b79e5 commit 4e1c8a6

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

Orange/misc/environ.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,23 +45,27 @@ def data_dir_base():
4545
return base
4646

4747

48-
def data_dir():
48+
def data_dir(versioned=True):
4949
"""
5050
Return the platform dependent Orange data directory.
5151
52-
This is ``data_dir_base()``/Orange/__VERSION__/ directory.
52+
This is ``data_dir_base()``/Orange/__VERSION__/ directory if versioned is
53+
`True` and ``data_dir_base()``/Orange/ otherwise.
5354
"""
5455
base = data_dir_base()
55-
return os.path.join(base, "Orange", Orange.__version__)
56+
if versioned:
57+
return os.path.join(base, "Orange", Orange.__version__)
58+
else:
59+
return os.path.join(base, "Orange")
5660

5761

58-
def widget_settings_dir():
62+
def widget_settings_dir(versioned=True):
5963
"""
6064
Return the platform dependent directory where widgets save their settings.
6165
62-
This a subdirectory of ``data_dir()`` named "widgets"
66+
This a subdirectory of ``data_dir(versioned)`` named "widgets"
6367
"""
64-
return os.path.join(data_dir(), "widgets")
68+
return os.path.join(data_dir(versioned=versioned), "widgets")
6569

6670

6771
def cache_dir(*args):

Orange/widgets/widget.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -821,7 +821,13 @@ def __quicktip(self):
821821
self.__showMessage(message)
822822

823823
def __quicktipOnce(self):
824-
filename = os.path.join(settings.widget_settings_dir(),
824+
dirpath = settings.widget_settings_dir(versioned=False)
825+
try:
826+
os.makedirs(dirpath, exist_ok=True)
827+
except OSError: # EPERM, EEXISTS, ...
828+
pass
829+
830+
filename = os.path.join(settings.widget_settings_dir(versioned=False),
825831
"user-session-state.ini")
826832
namespace = ("user-message-history/{0.__module__}.{0.__qualname__}"
827833
.format(type(self)))

0 commit comments

Comments
 (0)