Detach QuickFindPanel

Main changes are:
1) new jsontype: `quickfind`
2) send the full json when constructed
3) create new .uno:QuickFind
4) create wrapper and window to register
   QuickFindPanel as a DockingWindow so that we
   can create it from CreateChildWinow without
   going through sidebar
5) Register SID_QUICKFIND as a ChildWindow in
   the SwView interface

Signed-off-by: NickWingate <nick.wingate@collabora.com>
Change-Id: I2086316b932c1495b0adee7a062bdbbcb104f1ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188667
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194144
Tested-by: Jenkins
This commit is contained in:
NickWingate
2025-11-18 10:46:42 +01:00
committed by Szymon Kłos
parent c2f0d0a833
commit 20088bd544
25 changed files with 206 additions and 7 deletions
+4
View File
@@ -5163,6 +5163,8 @@ static void lcl_sendDialogEvent(unsigned long long int nWindowId, const char* pA
sWindowId = sCurrentShellId + "formulabar";
if (nWindowId == static_cast<unsigned long long int>(-4))
sWindowId = sCurrentShellId + "addressinputfield";
if (nWindowId == static_cast<unsigned long long int>(-5))
sWindowId = sCurrentShellId + "quickfind";
// dialogs send own id but notebookbar and sidebar controls are remembered by SfxViewShell id
if (jsdialog::ExecuteAction(sWindowId, sControlId, aMap))
@@ -5172,6 +5174,8 @@ static void lcl_sendDialogEvent(unsigned long long int nWindowId, const char* pA
return;
if (jsdialog::ExecuteAction(sCurrentShellId + "navigator", sControlId, aMap))
return;
if (jsdialog::ExecuteAction(sCurrentShellId + "quickfind", sControlId, aMap))
return;
if (jsdialog::ExecuteAction(sCurrentShellId + "notebookbar", sControlId, aMap))
return;
if (jsdialog::ExecuteAction(sCurrentShellId + "formulabar", sControlId, aMap))
+32
View File
@@ -0,0 +1,32 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
*/
#pragma once
#include <sfx2/childwin.hxx>
#include <sfx2/dockwin.hxx>
class SFX2_DLLPUBLIC SfxQuickFindWrapper : public SfxChildWindow
{
protected:
void Initialize();
public:
SfxQuickFindWrapper(vcl::Window* pParent, sal_uInt16 nId);
};
class SFX2_DLLPUBLIC SfxQuickFind : public SfxDockingWindow
{
public:
SfxQuickFind(SfxBindings* pBindings, SfxChildWindow* pChildWin, vcl::Window* pParent,
SfxChildWinInfo* pInfo);
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+1
View File
@@ -598,6 +598,7 @@ class SvxZoomItem;
#define SID_HYPERLINK_SETLINK TypedWhichId<SvxHyperlinkItem>(SID_SVX_START + 362)
#define SID_INFOBAR (SID_SVX_START + 365)
#define SID_NAVIGATOR (SID_SVX_START + 366)
#define SID_QUICKFIND (SID_SVX_START + 367)
#define SID_ZOOM_NEXT (SID_SVX_START + 402)
#define SID_ZOOM_PREV (SID_SVX_START + 403)
#define SID_INET_DLG (SID_SVX_START + 416)
+1
View File
@@ -233,6 +233,7 @@
#define STR_DELETE_STYLE_USED NC_("STR_DELETE_STYLE_USED", "One or more of the selected styles is in use in this document.\nIf you will delete it, text or objects using these styles will revert to the parent style.\nDo you still wish to delete these styles?\n")
#define STR_DELETE_STYLE NC_("STR_DELETE_STYLE", "Styles in use: ")
#define STR_SID_NAVIGATOR NC_("STR_SID_NAVIGATOR", "Navigator")
#define STR_SID_QUICKFIND NC_("STR_SID_QUICKFIND", "Quick Find")
#define STR_ERROR_WRONG_CONFIRM NC_("STR_ERROR_WRONG_CONFIRM", "Faulty password confirmation")
#define STR_PDF_EXPORT_SEND NC_("STR_PDF_EXPORT_SEND", "Send")
#define STR_FONT_TABPAGE NC_("STR_FONT_TABPAGE", "Font")
+1
View File
@@ -163,6 +163,7 @@ typedef std::unordered_map<OString, OUString> ActionDataMap;
VCL_DLLPUBLIC void SendNavigatorForView(const sal_uInt64 nShellId);
VCL_DLLPUBLIC void SendSidebarForView(const sal_uInt64 nShellId);
VCL_DLLPUBLIC void SendQuickFindForView(const sal_uInt64 nShellId);
/// execute action on a widget
VCL_DLLPUBLIC bool ExecuteAction(const OUString& nWindowId, const OUString& rWidget,
+1
View File
@@ -189,6 +189,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
sfx2/source/dialog/bluthsnd \
sfx2/source/dialog/mgetempl \
sfx2/source/dialog/navigat \
sfx2/source/dialog/quickfind \
sfx2/source/dialog/newstyle \
sfx2/source/dialog/partwnd \
sfx2/source/dialog/passwd \
+1
View File
@@ -57,6 +57,7 @@ $(eval $(call gb_UIConfig_add_uifiles,sfx,\
sfx2/uiconfig/ui/notebookbarpopup \
sfx2/uiconfig/ui/printeroptionsdialog \
sfx2/uiconfig/ui/querysavedialog \
sfx2/uiconfig/ui/quickfind \
sfx2/uiconfig/ui/saveastemplatedlg \
sfx2/uiconfig/ui/safemodequerydialog \
sfx2/uiconfig/ui/searchdialog \
+5
View File
@@ -33,6 +33,11 @@ interface Window
ExecMethod = ChildWindowExecute ;
StateMethod = ChildWindowState ;
]
SID_QUICKFIND
[
ExecMethod = ChildWindowExecute ;
StateMethod = ChildWindowState ;
]
SID_INFOBAR // status(final|play)
[
ExecMethod = ChildWindowExecute ;
+16
View File
@@ -2651,6 +2651,22 @@ SfxBoolItem Navigator SID_NAVIGATOR
GroupId = SfxGroupId::Navigator;
]
SfxBoolItem QuickFind SID_QUICKFIND
[
AutoUpdate = TRUE,
FastCall = FALSE,
ReadOnlyDoc = TRUE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
AccelConfig = TRUE,
MenuConfig = TRUE,
ToolBoxConfig = TRUE,
GroupId = ;
]
SfxBoolItem InfoBar SID_INFOBAR
[
AutoUpdate = FALSE,
+36
View File
@@ -0,0 +1,36 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
*/
#include <sal/config.h>
#include <sfx2/bindings.hxx>
#include <sfx2/quickfind.hxx>
#include <sfx2/strings.hrc>
#include <sfx2/sfxresid.hxx>
#include <helpids.h>
SfxQuickFindWrapper::SfxQuickFindWrapper(vcl::Window* pParentWnd, sal_uInt16 nId)
: SfxChildWindow(pParentWnd, nId)
{
}
void SfxQuickFindWrapper::Initialize() { SetHideNotDelete(true); }
SfxQuickFind::SfxQuickFind(SfxBindings* pBind, SfxChildWindow* pChildWin, vcl::Window* pParent,
SfxChildWinInfo* pInfo)
: SfxDockingWindow(pBind, pChildWin, pParent, u"QuickFind"_ustr, u"sfx/ui/quickfind.ui"_ustr)
{
SetText(SfxResId(STR_SID_QUICKFIND));
SetHelpId(HID_QUICKFIND_WINDOW);
SetOutputSizePixel(Size(270, 240));
Initialize(pInfo);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+1
View File
@@ -27,6 +27,7 @@ inline constexpr OUString HID_TEMPLDLG_NEWBYEXAMPLE = u"SFX2_HID_TEMPLDLG_NEWBYE
inline constexpr OUString HID_TEMPLDLG_UPDATEBYEXAMPLE = u"SFX2_HID_TEMPLDLG_UPDATEBYEXAMPLE"_ustr;
inline constexpr OUString HID_TEMPLDLG_WATERCAN = u"SFX2_HID_TEMPLDLG_WATERCAN"_ustr;
inline constexpr OUString HID_NAVIGATOR_WINDOW = u"SFX2_HID_NAVIGATOR_WINDOW"_ustr;
inline constexpr OUString HID_QUICKFIND_WINDOW = u"SFX2_HID_QUICKFIND_WINDOW"_ustr;
inline constexpr OUString HID_TABDLG_RESET_BTN = u"SFX2_HID_TABDLG_RESET_BTN"_ustr;
inline constexpr OUString HID_TABDLG_STANDARD_BTN = u"SFX2_HID_TABDLG_STANDARD_BTN"_ustr;
inline constexpr OUString HID_TEMPLDLG_TOOLBOX_LEFT = u"SFX2_HID_TEMPLDLG_TOOLBOX_LEFT"_ustr;
+4
View File
@@ -3681,6 +3681,10 @@ void SfxViewFrame::ChildWindowState( SfxItemSet& rState )
rState.Put( SfxBoolItem( nSID, HasChildWindow( nSID ) ) );
}
}
else if ( nSID == SID_QUICKFIND )
{
rState.Put( SfxBoolItem( nSID, HasChildWindow(nSID) ) );
}
else if ( KnowsChildWindow(nSID) )
rState.Put( SfxBoolItem( nSID, HasChildWindow(nSID) ) );
else
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="sfx">
<requires lib="gtk+" version="3.24"/>
<object class="GtkBox" id="QuickFind">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child>
<placeholder/>
</child>
</object>
</interface>
@@ -752,6 +752,7 @@ gb_emscripten_fs_image_files += \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/modules/swriter/ui/selectblockdialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/modules/swriter/ui/selectindexdialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/modules/swriter/ui/selecttabledialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/modules/swriter/ui/sidebarquickfind.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/modules/swriter/ui/sidebarstylepresets.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/modules/swriter/ui/sidebartableedit.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/modules/swriter/ui/sidebartheme.ui \
@@ -1444,6 +1445,7 @@ gb_emscripten_fs_image_files += \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/sfx/ui/password.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/sfx/ui/printeroptionsdialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/sfx/ui/querysavedialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/sfx/ui/quickfind.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/sfx/ui/safemodequerydialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/sfx/ui/saveastemplatedlg.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/sfx/ui/searchdialog.ui \
+2
View File
@@ -73,6 +73,7 @@
#include <wtabsh.hxx>
#include <navipi.hxx>
#include <init.hxx>
#include <QuickFindPanel.hxx>
#include <inputwin.hxx>
#include <usrpref.hxx>
#include <uinums.hxx>
@@ -334,6 +335,7 @@ void SwDLL::RegisterControls()
::sfx2::sidebar::SidebarChildWindow::RegisterChildWindow(false, pMod);
SwNavigatorWrapper::RegisterChildWindow(false, pMod, SfxChildWindowFlags::NEVERHIDE);
::sw::sidebar::QuickFindPanelWrapper::RegisterChildWindow(false, pMod, SfxChildWindowFlags::FORCEDOCK);
SwJumpToSpecificPageControl::RegisterControl(SID_JUMP_TO_SPECIFIC_PAGE, pMod);
}
@@ -10,10 +10,12 @@
#pragma once
#include <sfx2/sidebar/PanelLayout.hxx>
#include <sfx2/quickfind.hxx>
#include <svx/svxdlg.hxx>
#include <wrtsh.hxx>
#include "wrtsh.hxx"
#include <sfx2/bindings.hxx>
#include <sfx2/weldutils.hxx>
#include <svtools/acceleratorexecute.hxx>
namespace sw::sidebar
@@ -55,6 +57,7 @@ public:
virtual ~QuickFindPanel() override;
private:
friend class QuickFindPanelWindow;
std::vector<std::unique_ptr<SwPaM>> m_vPaMs;
std::unique_ptr<weld::Entry> m_xSearchFindEntry;
@@ -93,5 +96,23 @@ private:
void FillSearchFindsList();
bool UpgradeSearchToSearchDialog();
};
class QuickFindPanelWrapper : public SfxQuickFindWrapper
{
public:
QuickFindPanelWrapper(vcl::Window* pParent, sal_uInt16 nId, SfxBindings* pBindings,
SfxChildWinInfo* pInfo);
SFX_DECL_CHILDWINDOW(QuickFindPanelWrapper);
};
class QuickFindPanelWindow : public SfxQuickFind
{
private:
std::unique_ptr<QuickFindPanel> m_xQuickFindPanel;
public:
QuickFindPanelWindow(SfxBindings* _pBindings, SfxChildWindow* pChildWin, vcl::Window* pParent,
SfxChildWinInfo* pInfo);
};
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+35 -1
View File
@@ -8,7 +8,7 @@
*
*/
#include "QuickFindPanel.hxx"
#include <QuickFindPanel.hxx>
#include <svtools/colorcfg.hxx>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <comphelper/scopeguard.hxx>
@@ -23,11 +23,18 @@
#include <cntfrm.hxx>
#include <strings.hrc>
#include <vcl/event.hxx>
#include <vcl/jsdialog/executor.hxx>
#include <vcl/svapp.hxx>
#include <vcl/sysdata.hxx>
#include <swwait.hxx>
#include <sfx2/strings.hrc>
#include <sfx2/sfxresid.hxx>
#include <sfx2/childwin.hxx>
#include <sfx2/bindings.hxx>
#include <svx/srchdlg.hxx>
#include <comphelper/lok.hxx>
#include <comphelper/processfactory.hxx>
const int CharactersBeforeAndAfter = 40;
@@ -98,6 +105,25 @@ IMPL_LINK_NOARG(QuickFindPanel::SearchOptionsDialog, SimilaritySettingsDialogBut
}
}
QuickFindPanelWindow::QuickFindPanelWindow(SfxBindings* _pBindings, SfxChildWindow* pChildWin,
vcl::Window* pParent, SfxChildWinInfo* pInfo)
: SfxQuickFind(_pBindings, pChildWin, pParent, pInfo)
, m_xQuickFindPanel(std::make_unique<QuickFindPanel>(m_xContainer.get(),
_pBindings->GetActiveFrame(), _pBindings))
{
_pBindings->Invalidate(SID_QUICKFIND);
}
QuickFindPanelWrapper::QuickFindPanelWrapper(vcl::Window* pParent, sal_uInt16 nId,
SfxBindings* pBindings, SfxChildWinInfo* pInfo)
: SfxQuickFindWrapper(pParent, nId)
{
SetWindow(VclPtr<QuickFindPanelWindow>::Create(pBindings, this, pParent, pInfo));
Initialize();
}
SFX_IMPL_DOCKINGWINDOW(QuickFindPanelWrapper, SID_QUICKFIND);
std::unique_ptr<PanelLayout>
QuickFindPanel::Create(weld::Widget* pParent,
const css::uno::Reference<css::frame::XFrame>& rxFrame,
@@ -126,6 +152,14 @@ QuickFindPanel::QuickFindPanel(weld::Widget* pParent, const uno::Reference<frame
{
m_xAcceleratorExecute->init(comphelper::getProcessComponentContext(), rxFrame);
if (comphelper::LibreOfficeKit::isActive())
{
sal_uInt64 nShellId = reinterpret_cast<sal_uInt64>(SfxViewShell::Current());
jsdialog::SendQuickFindForView(nShellId);
// disable search options for online as still tunnled dialog
m_xSearchOptionsToolbar->set_visible(false);
}
m_nMinimumPanelWidth
= m_xBuilder->weld_widget(u"box"_ustr)->get_preferred_size().getWidth() + (6 * 2) + 6;
m_xContainer->set_size_request(m_nMinimumPanelWidth, 1);
+1 -1
View File
@@ -28,7 +28,7 @@
#include "PageFormatPanel.hxx"
#include "PageHeaderPanel.hxx"
#include "PageFooterPanel.hxx"
#include "QuickFindPanel.hxx"
#include <QuickFindPanel.hxx>
#include "WrapPropertyPanel.hxx"
#include "WriterInspectorTextPanel.hxx"
#include "TableEditPanel.hxx"
+1
View File
@@ -93,6 +93,7 @@ SFX_IMPL_INTERFACE(SwView, SfxViewShell)
void SwView::InitInterface_Impl()
{
GetStaticInterface()->RegisterChildWindow(SwNavigatorWrapper::GetChildWindowId(), true); // SID_NAVIGATOR
GetStaticInterface()->RegisterChildWindow(SID_QUICKFIND, false);
GetStaticInterface()->RegisterChildWindow(::sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
+1
View File
@@ -22,6 +22,7 @@ bool isBuilderEnabledForSidebar(std::u16string_view rUIFile);
bool isBuilderEnabledForAddressInput(std::u16string_view rUIFile);
bool isBuilderEnabledForFormulabar(std::u16string_view rUIFile);
bool isBuilderEnabledForNavigator(std::u16string_view rUIFile);
bool isBuilderEnabledForQuickFind(std::u16string_view rUIFile);
bool isInterimBuilderEnabledForNotebookbar(std::u16string_view rUIFile);
}
+13
View File
@@ -37,6 +37,7 @@ constexpr auto IgnoredList
{ u"modules/scalc/ui/dropmenu.ui"}, // Calc -> Navigator -> right click
{ u"modules/sdraw/ui/navigatorcontextmenu.ui" }, // Impress -> Navigator -> right click
{ u"modules/swriter/ui/navigatorcontextmenu.ui" }, // Writer -> Navigator -> right click
{ u"sfx/ui/quickfind.ui" },
});
// ========== MOBILE DIALOGS ================================================= //
@@ -478,6 +479,13 @@ constexpr auto NavigatorList
{ u"modules/simpress/ui/navigatorpanel.ui"}
});
// ========== QUICKFIND ================================================= //
constexpr auto QuickFindList
= frozen::make_unordered_set<std::u16string_view>({
{ u"modules/swriter/ui/sidebarquickfind.ui" },
});
// ========== NOTEBOOKBAR ================================================= //
constexpr auto NotebookbarList
@@ -602,6 +610,11 @@ bool isBuilderEnabledForNavigator(std::u16string_view rUIFile)
return isInMap(NavigatorList, rUIFile);
}
bool isBuilderEnabledForQuickFind(std::u16string_view rUIFile)
{
return isInMap(QuickFindList, rUIFile);
}
bool isInterimBuilderEnabledForNotebookbar(std::u16string_view rUIFile)
{
return isInMap(NotebookbarList, rUIFile);
+5
View File
@@ -103,6 +103,11 @@ void SendSidebarForView(const sal_uInt64 nShellId)
jsdialog::SendFullUpdate(OUString::number(nShellId) + "sidebar", "Panel");
}
void SendQuickFindForView(const sal_uInt64 nShellId)
{
jsdialog::SendFullUpdate(OUString::number(nShellId) + "quickfind", "QuickFindPanel");
}
void SendFullUpdate(const OUString& nWindowId, const OUString& rWidget)
{
auto aWidgetMap = JSInstanceBuilder::Widgets().Find(nWindowId);
+4 -3
View File
@@ -186,7 +186,8 @@ void JSInstanceBuilder::initializeSidebarSender(sal_uInt64 nLOKWindowId,
m_aParentDialog = pRoot->GetParentWithLOKNotifier();
bool bIsNavigatorPanel = jsdialog::isBuilderEnabledForNavigator(rUIFile);
bool bIsDockingWindow = jsdialog::isBuilderEnabledForNavigator(rUIFile)
|| jsdialog::isBuilderEnabledForQuickFind(rUIFile);
// builder for Panel, PanelLayout, and DockingWindow
// get SidebarDockingWindow, or SwNavigatorWin as m_aContentWindow
@@ -195,7 +196,7 @@ void JSInstanceBuilder::initializeSidebarSender(sal_uInt64 nLOKWindowId,
// Panel : 7 levels up from pRoot
// DockingWindow: 3 levels up from pRoot
unsigned nLevelsUp = 100; // limit
if (bIsNavigatorPanel)
if (bIsDockingWindow)
nLevelsUp = 3;
if (nLevelsUp > 0)
@@ -207,7 +208,7 @@ void JSInstanceBuilder::initializeSidebarSender(sal_uInt64 nLOKWindowId,
m_aContentWindow = pRoot;
for (unsigned i = 0; i < nLevelsUp && m_aContentWindow; i++)
{
if (!bIsNavigatorPanel && m_aContentWindow->get_id() == "Deck")
if (!bIsDockingWindow && m_aContentWindow->get_id() == "Deck")
nLevelsUp = i + 3;
// Useful to check if any panel doesn't appear
+1 -1
View File
@@ -16,7 +16,7 @@ OUString JSInstanceBuilder::getMapIdFromWindowId() const
{
if (m_sTypeOfJSON == "sidebar" || m_sTypeOfJSON == "notebookbar"
|| m_sTypeOfJSON == "formulabar" || m_sTypeOfJSON == "addressinputfield"
|| m_sTypeOfJSON == "navigator")
|| m_sTypeOfJSON == "navigator" || m_sTypeOfJSON == "quickfind")
{
return OUString::number(m_nWindowId) + m_sTypeOfJSON;
}
+2
View File
@@ -197,6 +197,8 @@ std::unique_ptr<weld::Builder> Application::CreateBuilder(weld::Widget* pParent,
return JSInstanceBuilder::CreateMenuBuilder(pParent, AllSettings::GetUIRootDir(), rUIFile);
else if (jsdialog::isBuilderEnabledForNavigator(rUIFile))
return JSInstanceBuilder::CreateSidebarBuilder(pParent, AllSettings::GetUIRootDir(), rUIFile, "navigator", nLOKWindowId);
else if (jsdialog::isBuilderEnabledForQuickFind(rUIFile))
return JSInstanceBuilder::CreateSidebarBuilder(pParent, AllSettings::GetUIRootDir(), rUIFile, "quickfind", nLOKWindowId);
else if (jsdialog::isBuilderEnabled(rUIFile, bMobile))
return JSInstanceBuilder::CreateDialogBuilder(pParent, AllSettings::GetUIRootDir(), rUIFile);
// this is notebookbar widget but converted from sidebar panel