From c1751e36d246feceb886dcf32a915a68938a685e Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Sat, 3 Feb 2024 00:41:34 -0500 Subject: [PATCH] Add option to show seconds in status bar clock in status bar right click menu --- indra/newview/app_settings/settings_alchemy.xml | 11 +++++++++++ indra/newview/llstatusbar.cpp | 8 +++++--- .../newview/skins/default/xui/en/menu_hide_navbar.xml | 11 +++++++++++ .../newview/skins/default/xui/en/panel_status_bar.xml | 4 ++++ 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml index bfb8c74af03..c6ba14575ec 100644 --- a/indra/newview/app_settings/settings_alchemy.xml +++ b/indra/newview/app_settings/settings_alchemy.xml @@ -1445,6 +1445,17 @@ <key>Value</key> <integer>1</integer> </map> + <key>ShowStatusBarSeconds</key> + <map> + <key>Comment</key> + <string>Show seconds in the statusbar clock</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>0</integer> + </map> <key>ShowStreamInfo</key> <map> <key>Comment</key> diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 25fb8594ab9..df0b68a2cd8 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -174,7 +174,7 @@ BOOL LLStatusBar::postBuild() mPanelPopupHolder = gViewerWindow->getRootView()->getChildView("popup_holder"); - mTextTime = getChild<LLTextBox>("TimeText" ); + mTextTime = getChild<LLTextBox>("TimeText"); mBtnBuyL = getChild<LLButton>("buyL"); mBtnBuyL->setCommitCallback(boost::bind(&LLStatusBar::onClickBuyCurrency, this)); @@ -320,6 +320,7 @@ void LLStatusBar::refresh() { static LLCachedControl<bool> show_net_stats(gSavedSettings, "ShowNetStats", false); static LLCachedControl<bool> show_fps(gSavedSettings, "ShowStatusBarFPS", false); + static LLCachedControl<bool> show_clock_seconds(gSavedSettings, "ShowStatusBarSeconds", false); bool net_stats_visible = show_net_stats; if (net_stats_visible) @@ -334,7 +335,7 @@ void LLStatusBar::refresh() } // update clock every 10 seconds - if(mClockUpdateTimer.getElapsedTimeF32() > 10.f) + if(mClockUpdateTimer.getElapsedTimeF32() > 10.f || (show_clock_seconds && mClockUpdateTimer.getElapsedTimeF32() > 1.f)) { mClockUpdateTimer.reset(); @@ -344,7 +345,8 @@ void LLStatusBar::refresh() utc_time = time_corrected(); static const std::string timeStrTemplate = getString("time"); - std::string timeStr = timeStrTemplate; + static const std::string timeStrSecondsTemplate = getString("timeSeconds"); + std::string timeStr = show_clock_seconds ? timeStrSecondsTemplate : timeStrTemplate; LLSD substitution; substitution["datetime"] = (S32) utc_time; LLStringUtil::format (timeStr, substitution); diff --git a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml index 1837e7df1bd..d97dc4889af 100644 --- a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml +++ b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml @@ -53,4 +53,15 @@ function="CheckControl" parameter="ShowNetStats" /> </menu_item_check> + <menu_item_check + label="Show seconds in clock" + layout="topleft" + name="ShowStatusBarSeconds"> + <on_click + function="ToggleControl" + parameter="ShowStatusBarSeconds" /> + <on_check + function="CheckControl" + parameter="ShowStatusBarSeconds" /> + </menu_item_check> </menu> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index e30c6656caa..c797b265324 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -24,6 +24,10 @@ name="time"> [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] </panel.string> + <panel.string + name="timeSeconds"> + [hour12, datetime, slt]:[min, datetime, slt]:[second, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] + </panel.string> <panel.string name="timeTooltip"> [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] -- GitLab