diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml index bfb8c74af03a875d4f34f1087a194d4c1958653d..c6ba14575ecd0399fd046ad62e2f58bc90feb3b4 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 25fb8594ab945fc4fe8b738fccf8838ed88185d8..df0b68a2cd8e40e2777c9dcb619c9b77ee9fbc2c 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 1837e7df1bdd8b84977b254bd8719643c0aece5f..d97dc4889af2360908f31166eb9acfb9c7cbc6af 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 e30c6656caa25da4aeb2343cb73d3730c73f5ef6..c797b265324cc1e13dedfb64e63b11ba88fb9644 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]