more cleanups

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20180 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini
2007-02-20 14:22:38 +00:00
parent 4fe138eecb
commit 53596257db
2 changed files with 22 additions and 27 deletions
+20 -24
View File
@@ -12,22 +12,16 @@
TTimeBaseView::TTimeBaseView(BRect frame, const char *name) TTimeBaseView::TTimeBaseView(BRect frame, const char *name)
: BView(frame, name, B_FOLLOW_ALL_SIDES, B_PULSE_NEEDED) : BView(frame, name, B_FOLLOW_ALL_SIDES, B_PULSE_NEEDED),
fMessage(NULL)
{ {
InitView(); fMessage = new BMessage(H_TIME_UPDATE);
} }
TTimeBaseView::~TTimeBaseView() TTimeBaseView::~TTimeBaseView()
{ {
} delete fMessage;
void
TTimeBaseView::InitView()
{
f_message = new BMessage(H_TIME_UPDATE);
} }
@@ -42,18 +36,21 @@ TTimeBaseView::Pulse()
void void
TTimeBaseView::SetGMTime(bool gmt) TTimeBaseView::SetGMTime(bool gmt)
{ {
f_gmtime = gmt; fIsGMT = gmt;
} }
void void
TTimeBaseView::DispatchMessage() TTimeBaseView::DispatchMessage()
{ {
time_t current = time(0); if (fMessage == NULL)
return;
time_t current = time(NULL);
struct tm *ltime; struct tm *ltime;
if (f_gmtime) if (fIsGMT)
ltime = gmtime(&current); ltime = gmtime(&current);
else else
ltime = localtime(&current); ltime = localtime(&current);
@@ -65,15 +62,15 @@ TTimeBaseView::DispatchMessage()
int32 minute = ltime->tm_min; int32 minute = ltime->tm_min;
int32 second = ltime->tm_sec; int32 second = ltime->tm_sec;
f_message->MakeEmpty(); fMessage->MakeEmpty();
f_message->AddInt32("month", month); fMessage->AddInt32("month", month);
f_message->AddInt32("day", day); fMessage->AddInt32("day", day);
f_message->AddInt32("year", year); fMessage->AddInt32("year", year);
f_message->AddInt32("hour", hour); fMessage->AddInt32("hour", hour);
f_message->AddInt32("minute", minute); fMessage->AddInt32("minute", minute);
f_message->AddInt32("second", second); fMessage->AddInt32("second", second);
SendNotices(H_TM_CHANGED, f_message); SendNotices(H_TM_CHANGED, fMessage);
} }
@@ -81,10 +78,10 @@ void
TTimeBaseView::ChangeTime(BMessage *message) TTimeBaseView::ChangeTime(BMessage *message)
{ {
bool istime; bool istime;
if (!(message->FindBool("time", &istime) == B_OK)) if (message->FindBool("time", &istime) != B_OK)
return; return;
time_t atime = time(0); time_t atime = time(NULL);
struct tm *_tm = localtime(&atime); struct tm *_tm = localtime(&atime);
int32 hour = 0; int32 hour = 0;
@@ -117,4 +114,3 @@ TTimeBaseView::ChangeTime(BMessage *message)
time_t atime2 = mktime(_tm); time_t atime2 = mktime(_tm);
set_real_time_clock(atime2); set_real_time_clock(atime2);
} }
+2 -3
View File
@@ -15,11 +15,10 @@ class TTimeBaseView: public BView {
void ChangeTime(BMessage *); void ChangeTime(BMessage *);
void SetGMTime(bool); void SetGMTime(bool);
protected: protected:
virtual void InitView();
virtual void DispatchMessage(); virtual void DispatchMessage();
private: private:
BMessage *f_message; BMessage *fMessage;
bool f_gmtime; bool fIsGMT;
}; };
#endif //TIMEBASE_H #endif //TIMEBASE_H