Resolves tdf#127400 - Allow to show tip of the day again
* UNO command TipOfTheDay and slot SID_TIPOFTHEDAY introduced and added to help menus * Tip ID introduced to keep the current tip over the day * Tip ID updates after 24h * Randomization of tips replaced by sequential order * Tip ID added to the dialog title Change-Id: I69b72b80d6d6afa25a1c4f01fa05bc60b5741db8 Reviewed-on: https://gerrit.libreoffice.org/78693 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
This commit is contained in:
parent
c8e2675ebd
commit
97bcd0e416
30 changed files with 95 additions and 25 deletions
|
@ -159,6 +159,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -160,6 +160,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -263,6 +263,7 @@ const std::tuple<const char*, OUString, OUString> TIPOFTHEDAY_STRINGARRAY[] =
|
|||
|
||||
#define STR_HELP_LINK NC_("STR_HELP_LINK", "%PRODUCTNAME Help")
|
||||
#define STR_MORE_LINK NC_("STR_MORE_LINK", "More info")
|
||||
#define STR_TITLE NC_("STR_TITLE", "Tip of the Day")
|
||||
|
||||
#endif //INCLUDED_CUI_INC_TIPOFTHEDAY_HRC
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include <vcl/help.hxx>
|
||||
#include <vcl/virdev.hxx>
|
||||
#include <vcl/svapp.hxx>
|
||||
#include <comphelper/random.hxx>
|
||||
|
||||
TipOfTheDayDialog::TipOfTheDayDialog(weld::Window* pParent)
|
||||
: GenericDialogController(pParent, "cui/ui/tipofthedaydialog.ui", "TipOfTheDayDialog")
|
||||
|
@ -38,11 +37,17 @@ TipOfTheDayDialog::TipOfTheDayDialog(weld::Window* pParent)
|
|||
, m_pNext(m_xBuilder->weld_button("btnNext"))
|
||||
, m_pLink(m_xBuilder->weld_link_button("btnLink"))
|
||||
{
|
||||
m_pShowTip->connect_toggled(LINK(this, TipOfTheDayDialog, OnShowTipToggled));
|
||||
m_pShowTip->set_active(officecfg::Office::Common::Misc::ShowTipOfTheDay::get());
|
||||
m_pNext->connect_clicked(LINK(this, TipOfTheDayDialog, OnNextClick));
|
||||
|
||||
nNumberOfTips = SAL_N_ELEMENTS(TIPOFTHEDAY_STRINGARRAY);
|
||||
nCurrentTip = comphelper::rng::uniform_int_distribution(0, nNumberOfTips - 1);
|
||||
nCurrentTip = officecfg::Office::Common::Misc::LastTipOfTheDayID::get();
|
||||
|
||||
const auto t0 = std::chrono::system_clock::now().time_since_epoch();
|
||||
nDay = std::chrono::duration_cast<std::chrono::hours>(t0).count() / 24; //days since 1970-01-01
|
||||
if (nDay > officecfg::Office::Common::Misc::LastTipOfTheDayShown::get())
|
||||
nCurrentTip++;
|
||||
|
||||
UpdateTip();
|
||||
}
|
||||
|
||||
|
@ -50,10 +55,9 @@ TipOfTheDayDialog::~TipOfTheDayDialog()
|
|||
{
|
||||
std::shared_ptr<comphelper::ConfigurationChanges> xChanges(
|
||||
comphelper::ConfigurationChanges::create());
|
||||
const auto t0 = std::chrono::system_clock::now().time_since_epoch();
|
||||
const sal_Int32 nDay
|
||||
= std::chrono::duration_cast<std::chrono::hours>(t0).count() / 24; // days since 1970-01-01
|
||||
officecfg::Office::Common::Misc::LastTipOfTheDayShown::set(nDay, xChanges);
|
||||
officecfg::Office::Common::Misc::LastTipOfTheDayID::set(nCurrentTip, xChanges);
|
||||
officecfg::Office::Common::Misc::ShowTipOfTheDay::set(m_pShowTip->get_active(), xChanges);
|
||||
xChanges->commit();
|
||||
}
|
||||
|
||||
|
@ -65,6 +69,11 @@ static bool file_exists(const OUString& fileName)
|
|||
|
||||
void TipOfTheDayDialog::UpdateTip()
|
||||
{
|
||||
if ((nCurrentTip + 1 > nNumberOfTips) || (nCurrentTip < 0))
|
||||
nCurrentTip = 0;
|
||||
m_xDialog->set_title(CuiResId(STR_TITLE) + ": " + OUString::number(nCurrentTip + 1) + "/"
|
||||
+ OUString::number(nNumberOfTips));
|
||||
|
||||
// text
|
||||
OUString aText = CuiResId(std::get<0>(TIPOFTHEDAY_STRINGARRAY[nCurrentTip]));
|
||||
m_pText->set_label(aText);
|
||||
|
@ -110,14 +119,6 @@ void TipOfTheDayDialog::UpdateTip()
|
|||
}
|
||||
}
|
||||
|
||||
IMPL_STATIC_LINK(TipOfTheDayDialog, OnShowTipToggled, weld::ToggleButton&, rButton, void)
|
||||
{
|
||||
std::shared_ptr<comphelper::ConfigurationChanges> xChanges(
|
||||
comphelper::ConfigurationChanges::create());
|
||||
officecfg::Office::Common::Misc::ShowTipOfTheDay::set(rButton.get_active(), xChanges);
|
||||
xChanges->commit();
|
||||
}
|
||||
|
||||
IMPL_LINK_NOARG(TipOfTheDayDialog, OnLinkClick, weld::LinkButton&, void)
|
||||
{
|
||||
Application::GetHelp()->Start(aLink, static_cast<weld::Widget*>(nullptr));
|
||||
|
@ -125,7 +126,7 @@ IMPL_LINK_NOARG(TipOfTheDayDialog, OnLinkClick, weld::LinkButton&, void)
|
|||
|
||||
IMPL_LINK_NOARG(TipOfTheDayDialog, OnNextClick, weld::Button&, void)
|
||||
{
|
||||
nCurrentTip = (nCurrentTip + 1) % nNumberOfTips;
|
||||
nCurrentTip++; //zeroed at updatetip when out of range
|
||||
UpdateTip();
|
||||
}
|
||||
|
||||
|
|
|
@ -30,11 +30,11 @@ private:
|
|||
std::unique_ptr<weld::Button> m_pNext;
|
||||
std::unique_ptr<weld::LinkButton> m_pLink;
|
||||
|
||||
sal_uInt32 nCurrentTip;
|
||||
sal_uInt32 nNumberOfTips;
|
||||
sal_Int32 nCurrentTip;
|
||||
sal_Int32 nNumberOfTips;
|
||||
sal_Int32 nDay;
|
||||
OUString aLink;
|
||||
void UpdateTip();
|
||||
DECL_STATIC_LINK(TipOfTheDayDialog, OnShowTipToggled, weld::ToggleButton&, void);
|
||||
DECL_LINK(OnNextClick, weld::Button&, void);
|
||||
DECL_LINK(OnLinkClick, weld::LinkButton&, void);
|
||||
|
||||
|
|
|
@ -147,6 +147,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -102,6 +102,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -86,6 +86,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -86,6 +86,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -111,6 +111,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -88,6 +88,8 @@ class SvxSearchItem;
|
|||
#define SID_HELPTIPS (SID_SFX_START + 404)
|
||||
#define SID_EMOJI_CONTROL (SID_SFX_START + 405)
|
||||
#define SID_CHARMAP_CONTROL (SID_SFX_START + 406)
|
||||
#define SID_TIPOFTHEDAY (SID_SFX_START + 407)
|
||||
|
||||
// free (SID_SFX_START + 410)
|
||||
#define SID_SEND_FEEDBACK (SID_SFX_START + 421)
|
||||
#define SID_Q_AND_A (SID_SFX_START + 422)
|
||||
|
|
|
@ -4985,6 +4985,20 @@
|
|||
<value>1</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:TipOfTheDay" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">~Tip of the day</value>
|
||||
</prop>
|
||||
<prop oor:name="ContextLabel" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Show Tip-Of-The-Day</value>
|
||||
</prop>
|
||||
<prop oor:name="TooltipLabel" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Show the Tip-Of-The-Day dialog</value>
|
||||
</prop>
|
||||
<prop oor:name="Properties" oor:type="xs:int">
|
||||
<value>1</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:ViewDataSourceBrowser" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">~Data Sources</value>
|
||||
|
|
|
@ -5513,6 +5513,12 @@
|
|||
<info>
|
||||
<desc>The last time when the Tip-of-the-day dialog was shown.</desc>
|
||||
</info>
|
||||
<value>-1</value> <!-- +1 every 24h -->
|
||||
</prop>
|
||||
<prop oor:name="LastTipOfTheDayID" oor:type="xs:int" oor:nillable="false">
|
||||
<info>
|
||||
<desc>The last shown Tip-of-the-day.</desc>
|
||||
</info>
|
||||
<value>0</value>
|
||||
</prop>
|
||||
<prop oor:name="UseOpenCL" oor:type="xs:boolean" oor:nillable="false">
|
||||
|
|
|
@ -277,6 +277,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -774,6 +774,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -631,6 +631,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -671,6 +671,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -56,6 +56,10 @@ interface Application
|
|||
ExecMethod = MiscExec_Impl ;
|
||||
StateMethod = MiscState_Impl ;
|
||||
]
|
||||
SID_TIPOFTHEDAY // ole(no) api(final/play/rec)
|
||||
[
|
||||
ExecMethod = MiscExec_Impl ;
|
||||
]
|
||||
SID_CONFIG // ole(no) api(final/play/rec)
|
||||
[
|
||||
ExecMethod = MiscExec_Impl ;
|
||||
|
|
|
@ -1889,6 +1889,23 @@ SfxBoolItem HelpTip SID_HELPTIPS
|
|||
GroupId = SfxGroupId::Application;
|
||||
]
|
||||
|
||||
SfxVoidItem TipOfTheDay SID_TIPOFTHEDAY
|
||||
|
||||
[
|
||||
AutoUpdate = FALSE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Application;
|
||||
]
|
||||
|
||||
SfxVoidItem EmojiControl SID_EMOJI_CONTROL
|
||||
|
||||
|
|
|
@ -665,6 +665,15 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
|
|||
rReq.AppendItem( SfxBoolItem( SID_HELPBALLOONS, bOn) );
|
||||
break;
|
||||
}
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
case SID_TIPOFTHEDAY:
|
||||
{
|
||||
VclAbstractDialogFactory* pFact = VclAbstractDialogFactory::Create();
|
||||
ScopedVclPtr<VclAbstractDialog> pDlg(pFact->CreateTipOfTheDayDialog(rReq.GetFrameWeld()));
|
||||
pDlg->Execute();
|
||||
bDone = true;
|
||||
break;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
case SID_ABOUT:
|
||||
|
|
|
@ -1315,13 +1315,9 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
|
|||
if (bShowTipOfTheDay && !Application::IsHeadlessModeEnabled() && !bIsUITest) {
|
||||
const sal_Int32 nLastTipOfTheDay = officecfg::Office::Common::Misc::LastTipOfTheDayShown::get();
|
||||
const sal_Int32 nDay = std::chrono::duration_cast<std::chrono::hours>(t0).count()/24; // days since 1970-01-01
|
||||
if (nDay-nLastTipOfTheDay > 0) { //only once per day
|
||||
VclAbstractDialogFactory* pFact = VclAbstractDialogFactory::Create();
|
||||
ScopedVclPtr<VclAbstractDialog> pDlg(
|
||||
pFact->CreateTipOfTheDayDialog(GetWindow().GetFrameWeld()));
|
||||
pDlg->Execute();
|
||||
}
|
||||
}
|
||||
if (nDay-nLastTipOfTheDay > 0) //only once per day
|
||||
GetDispatcher()->Execute(SID_TIPOFTHEDAY);
|
||||
} //bShowTipOfTheDay
|
||||
|
||||
// inform about the community involvement
|
||||
const sal_Int64 nLastGetInvolvedShown = officecfg::Setup::Product::LastTimeGetInvolvedShown::get();
|
||||
|
|
|
@ -153,6 +153,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -780,6 +780,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -651,6 +651,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -732,6 +732,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -691,6 +691,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -786,6 +786,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
|
@ -779,6 +779,7 @@
|
|||
<menu:menuitem menu:id=".uno:HelpIndex"/>
|
||||
<menu:menuitem menu:id=".uno:ExtendedHelp"/>
|
||||
<menu:menuitem menu:id=".uno:Documentation"/>
|
||||
<menu:menuitem menu:id=".uno:TipOfTheDay"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:QuestionAnswers"/>
|
||||
<menu:menuitem menu:id=".uno:SendFeedback"/>
|
||||
|
|
Loading…
Reference in a new issue