aboutsummaryrefslogtreecommitdiff
path: root/src/ClockTool.cc
diff options
context:
space:
mode:
authorPavel Labath <pavelo@centrum.sk>2011-07-21 20:09:03 (GMT)
committerPavel Labath <pavelo@centrum.sk>2011-07-21 20:09:03 (GMT)
commit7db1ffea7e58131d077d2065bd54dc29c8473c2c (patch)
treef780dc718d5f44655753f8d1e02ff085ebfc0ac6 /src/ClockTool.cc
parentcb3ace75e1df7f00cae2033a31511ed7ddd7d991 (diff)
downloadfluxbox_pavel-7db1ffea7e58131d077d2065bd54dc29c8473c2c.zip
fluxbox_pavel-7db1ffea7e58131d077d2065bd54dc29c8473c2c.tar.bz2
Attach modifiedSig handlers to the session.screenX.strftimeFormat resource
Diffstat (limited to 'src/ClockTool.cc')
-rw-r--r--src/ClockTool.cc15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/ClockTool.cc b/src/ClockTool.cc
index 126e0dd..6252248 100644
--- a/src/ClockTool.cc
+++ b/src/ClockTool.cc
@@ -102,13 +102,13 @@ public:
102 102
103 void click(int button, int time, unsigned int mods) { 103 void click(int button, int time, unsigned int mods) {
104 104
105 std::string newformat = *m_tool.timeFormatResource();
105 // does the current format string contain something with 24/12h? 106 // does the current format string contain something with 24/12h?
106 size_t found; 107 size_t found;
107 size_t pos = FbTk::StringUtil::findCharFromAlphabetAfterTrigger( 108 size_t pos = FbTk::StringUtil::findCharFromAlphabetAfterTrigger(
108 m_tool.timeFormat(), '%', SWITCHES_24_12H, sizeof(SWITCHES_24_12H), &found); 109 newformat, '%', SWITCHES_24_12H, sizeof(SWITCHES_24_12H), &found);
109 110
110 if (pos != std::string::npos) { // if so, exchange it with 12/24h 111 if (pos != std::string::npos) { // if so, exchange it with 12/24h
111 std::string newformat = m_tool.timeFormat();
112 newformat[pos+1] = SWITCHES_12_24H[found]; 112 newformat[pos+1] = SWITCHES_12_24H[found];
113 113
114 if (found < 3) { // 24h? erase %P/%p (AM|PM / am|pm) 114 if (found < 3) { // 24h? erase %P/%p (AM|PM / am|pm)
@@ -119,7 +119,7 @@ public:
119 } 119 }
120 } 120 }
121 121
122 m_tool.setTimeFormat(newformat); 122 *m_tool.timeFormatResource() = newformat;
123 setClockModeLabel(); 123 setClockModeLabel();
124 124
125 } // else some other strange format...so we don't do anything 125 } // else some other strange format...so we don't do anything
@@ -130,7 +130,7 @@ private:
130 void setClockModeLabel() { 130 void setClockModeLabel() {
131 _FB_USES_NLS; 131 _FB_USES_NLS;
132 if (FbTk::StringUtil::findCharFromAlphabetAfterTrigger( 132 if (FbTk::StringUtil::findCharFromAlphabetAfterTrigger(
133 m_tool.timeFormat(), '%', SWITCHES_24_12H, 3, 0) != std::string::npos) { 133 *m_tool.timeFormatResource(), '%', SWITCHES_24_12H, 3, 0) != std::string::npos) {
134 setLabel( _FB_XTEXT(Toolbar, Clock24, "Clock: 24h", "set Clockmode to 24h") ); 134 setLabel( _FB_XTEXT(Toolbar, Clock24, "Clock: 24h", "set Clockmode to 24h") );
135 } else { 135 } else {
136 setLabel( _FB_XTEXT(Toolbar, Clock12, "Clock: 12h", "set Clockmode to 12h") ); 136 setLabel( _FB_XTEXT(Toolbar, Clock12, "Clock: 12h", "set Clockmode to 12h") );
@@ -170,6 +170,8 @@ ClockTool::ClockTool(const FbTk::FbWindow &parent,
170 m_stringconvertor(FbTk::StringConvertor::ToFbString) { 170 m_stringconvertor(FbTk::StringConvertor::ToFbString) {
171 // attach signals 171 // attach signals
172 m_tracker.join(theme.reconfigSig(), FbTk::MemFun(*this, &ClockTool::themeReconfigured)); 172 m_tracker.join(theme.reconfigSig(), FbTk::MemFun(*this, &ClockTool::themeReconfigured));
173 m_tracker.join(m_timeformat.modifiedSig(),
174 FbTk::MemFunIgnoreArgs(*this, &ClockTool::themeReconfigured));
173 175
174 std::string time_locale = setlocale(LC_TIME, NULL); 176 std::string time_locale = setlocale(LC_TIME, NULL);
175 size_t pos = time_locale.find('.'); 177 size_t pos = time_locale.find('.');
@@ -232,11 +234,6 @@ void ClockTool::hide() {
232 m_button.hide(); 234 m_button.hide();
233} 235}
234 236
235void ClockTool::setTimeFormat(const std::string &format) {
236 *m_timeformat = format;
237 themeReconfigured();
238}
239
240void ClockTool::themeReconfigured() { 237void ClockTool::themeReconfigured() {
241 updateTime(); 238 updateTime();
242 239