aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--src/ClockTool.cc10
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 98c2640..5fddd45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
1(Format: Year/Month/Day) 1(Format: Year/Month/Day)
2Changes for 0.9.16: 2Changes for 0.9.16:
3*06/04/17: 3*06/04/17:
4 * Resize the clock if the text gets too big, sf.net patch #1436406
5 (thanks Geoff Lywood - glywood at users.sourceforge.net)
6 ClockTool.cc
4 * Fix some rotated toolbar+textbutton issues (Simon) 7 * Fix some rotated toolbar+textbutton issues (Simon)
5 Toolbar.cc IconbarTool.cc FbTk/TextButton.cc 8 Toolbar.cc IconbarTool.cc FbTk/TextButton.cc
6 * Fix /bin/sh portability for fbsetbg and startfluxbox (Simon) 9 * Fix /bin/sh portability for fbsetbg and startfluxbox (Simon)
diff --git a/src/ClockTool.cc b/src/ClockTool.cc
index 8a5077b..851973c 100644
--- a/src/ClockTool.cc
+++ b/src/ClockTool.cc
@@ -249,14 +249,22 @@ void ClockTool::updateTime() {
249 249
250 if (the_time != -1) { 250 if (the_time != -1) {
251 char time_string[255]; 251 char time_string[255];
252 int time_string_len;
252 struct tm *time_type = localtime(&the_time); 253 struct tm *time_type = localtime(&the_time);
253 if (time_type == 0) 254 if (time_type == 0)
254 return; 255 return;
255 256
256#ifdef HAVE_STRFTIME 257#ifdef HAVE_STRFTIME
257 if (!strftime(time_string, 255, m_timeformat->c_str(), time_type) || m_button.text() == time_string) 258 time_string_len = strftime(time_string, 255, m_timeformat->c_str(), time_type);
259 if( time_string_len == 0 || m_button.text() == time_string)
258 return; 260 return;
259 m_button.setText(time_string); 261 m_button.setText(time_string);
262
263 int new_width = m_theme.font().textWidth(time_string, time_string_len) + 2;
264 if (new_width > m_button.width()) {
265 resize(new_width, m_button.height());
266 resizeSig().notify();
267 }
260#else // dont have strftime so we have to set it to hour:minut 268#else // dont have strftime so we have to set it to hour:minut
261 // sprintf(time_string, "%d:%d", ); 269 // sprintf(time_string, "%d:%d", );
262#endif // HAVE_STRFTIME 270#endif // HAVE_STRFTIME