Skip to content

Commit abd8bf4

Browse files
committed
option to display module in darkroom
1 parent aee1f82 commit abd8bf4

File tree

1 file changed

+39
-18
lines changed

1 file changed

+39
-18
lines changed

contrib/ext_editor.lua

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -337,23 +337,40 @@ local function export2collection(storage, image_table, extra_data)
337337

338338

339339
-- install the module in the UI -----------------------------------------------
340-
local function install_module()
340+
local function install_module(dr)
341341
if not ee.module_installed then
342-
-- register new module "external editors" in lighttable and darkroom ------
343-
dt.register_lib(
344-
MODULE_NAME,
345-
_("external editors"),
346-
true, -- expandable
347-
false, -- resetable
348-
{[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_RIGHT_CENTER", 100},
349-
[dt.gui.views.darkroom] = {"DT_UI_CONTAINER_PANEL_LEFT_CENTER", 100}},
350-
dt.new_widget("box") {
351-
orientation = "vertical",
352-
table.unpack(ee.widgets),
353-
},
354-
nil, -- view_enter
355-
nil -- view_leave
356-
)
342+
if dr then
343+
-- register new module "external editors" in lighttable and darkroom ----
344+
dt.register_lib(
345+
MODULE_NAME,
346+
_("external editors"),
347+
true, -- expandable
348+
false, -- resetable
349+
{[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_RIGHT_CENTER", 100},
350+
[dt.gui.views.darkroom] = {"DT_UI_CONTAINER_PANEL_LEFT_CENTER", 100}},
351+
dt.new_widget("box") {
352+
orientation = "vertical",
353+
table.unpack(ee.widgets),
354+
},
355+
nil, -- view_enter
356+
nil -- view_leave
357+
)
358+
else
359+
-- register new module "external editors" in lighttable only ------------
360+
dt.register_lib(
361+
MODULE_NAME,
362+
_("external editors"),
363+
true, -- expandable
364+
false, -- resetable
365+
{[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_RIGHT_CENTER", 100}},
366+
dt.new_widget("box") {
367+
orientation = "vertical",
368+
table.unpack(ee.widgets),
369+
},
370+
nil, -- view_enter
371+
nil -- view_leave
372+
)
373+
end
357374
ee.module_installed = true
358375
end
359376
end
@@ -417,15 +434,16 @@ table.insert(ee.widgets, box1)
417434

418435

419436
-- register new module, but only when in lighttable ----------------------------
437+
local show_dr = dt.preferences.read(MODULE_NAME, "show_in_darkrooom", "bool")
420438
if dt.gui.current_view().id == "lighttable" then
421-
install_module()
439+
install_module(show_dr)
422440
else
423441
if not ee.event_registered then
424442
dt.register_event(
425443
MODULE_NAME, "view-changed",
426444
function(event, old_view, new_view)
427445
if new_view.name == "lighttable" and old_view.name == "darkroom" then
428-
install_module()
446+
install_module(show_dr)
429447
end
430448
end
431449
)
@@ -452,6 +470,9 @@ for i = MAX_EDITORS, 1, -1 do
452470
_("name of external editor ")..i,
453471
_("friendly name of external editor"), "")
454472
end
473+
dt.preferences.register(MODULE_NAME, "show_in_darkrooom", "bool",
474+
_("show external editors in darkroom"),
475+
_("check to show external editors module also in darkroom (requires restart)"), false)
455476

456477

457478
-- register the new shortcuts -------------------------------------------------

0 commit comments

Comments
 (0)