patch by Julun:
* further cleanup of code to apply style guide * removed now obsolete clock bitmaps * some restructuring of the code * adjusted layout of the time zone pane git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22222 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,26 +1,30 @@
|
|||||||
/*
|
/*
|
||||||
BaseView.cpp
|
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||||
by Mike Berg (inseculous)
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*
|
||||||
|
* Authors:
|
||||||
#include <Alert.h>
|
* Mike Berg (inseculous)
|
||||||
#include <OS.h>
|
* Julun <[email protected]>
|
||||||
|
*/
|
||||||
|
|
||||||
#include "BaseView.h"
|
#include "BaseView.h"
|
||||||
#include "TimeMessages.h"
|
#include "TimeMessages.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include <Message.h>
|
||||||
|
#include <OS.h>
|
||||||
|
|
||||||
|
|
||||||
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)
|
fIsGMT(false),
|
||||||
|
fMessage(H_TIME_UPDATE)
|
||||||
{
|
{
|
||||||
fMessage = new BMessage(H_TIME_UPDATE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TTimeBaseView::~TTimeBaseView()
|
TTimeBaseView::~TTimeBaseView()
|
||||||
{
|
{
|
||||||
delete fMessage;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -47,76 +51,71 @@ TTimeBaseView::SetGMTime(bool gmt)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TTimeBaseView::DispatchMessage()
|
TTimeBaseView::ChangeTime(BMessage *message)
|
||||||
{
|
{
|
||||||
if (fMessage == NULL)
|
bool isTime;
|
||||||
|
if (message->FindBool("time", &isTime) != B_OK)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
time_t current = time(NULL);
|
time_t tmp = time(NULL);
|
||||||
|
struct tm *tm_struct = localtime(&tmp);
|
||||||
|
|
||||||
struct tm *ltime;
|
if (isTime) {
|
||||||
|
int32 hour = 0;
|
||||||
|
if (message->FindInt32("hour", &hour) == B_OK)
|
||||||
|
tm_struct->tm_hour = hour;
|
||||||
|
|
||||||
if (fIsGMT)
|
int32 minute = 0;
|
||||||
ltime = gmtime(¤t);
|
if (message->FindInt32("minute", &minute) == B_OK)
|
||||||
else
|
tm_struct->tm_min = minute;
|
||||||
ltime = localtime(¤t);
|
|
||||||
|
|
||||||
int32 month = ltime->tm_mon;
|
|
||||||
int32 day = ltime->tm_mday;
|
|
||||||
int32 year = ltime->tm_year;
|
|
||||||
int32 hour = ltime->tm_hour;
|
|
||||||
int32 minute = ltime->tm_min;
|
|
||||||
int32 second = ltime->tm_sec;
|
|
||||||
|
|
||||||
fMessage->MakeEmpty();
|
|
||||||
fMessage->AddInt32("month", month);
|
|
||||||
fMessage->AddInt32("day", day);
|
|
||||||
fMessage->AddInt32("year", year);
|
|
||||||
fMessage->AddInt32("hour", hour);
|
|
||||||
fMessage->AddInt32("minute", minute);
|
|
||||||
fMessage->AddInt32("second", second);
|
|
||||||
|
|
||||||
SendNotices(H_TM_CHANGED, fMessage);
|
int32 second = 0;
|
||||||
|
if (message->FindInt32("second", &second) == B_OK)
|
||||||
|
tm_struct->tm_sec = second;
|
||||||
|
|
||||||
|
bool isAM = false;
|
||||||
|
if (message->FindBool("isam", &isAM) == B_OK) {
|
||||||
|
if (!isAM)
|
||||||
|
tm_struct->tm_hour += 12;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
int32 month = 0;
|
||||||
|
if (message->FindInt32("month", &month) == B_OK)
|
||||||
|
tm_struct->tm_mon = month;
|
||||||
|
|
||||||
|
int32 day = 0;
|
||||||
|
if (message->FindInt32("day", &day) == B_OK)
|
||||||
|
tm_struct->tm_mday = day;
|
||||||
|
|
||||||
|
int32 year = 0;
|
||||||
|
if (message->FindInt32("year", &year) == B_OK)
|
||||||
|
tm_struct->tm_year = year;
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp = mktime(tm_struct);
|
||||||
|
set_real_time_clock(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TTimeBaseView::ChangeTime(BMessage *message)
|
TTimeBaseView::DispatchMessage()
|
||||||
{
|
{
|
||||||
bool istime;
|
time_t tmp = time(NULL);
|
||||||
if (message->FindBool("time", &istime) != B_OK)
|
struct tm *tm_struct = localtime(&tmp);
|
||||||
return;
|
|
||||||
|
|
||||||
time_t atime = time(NULL);
|
if (fIsGMT)
|
||||||
struct tm *_tm = localtime(&atime);
|
tm_struct = gmtime(&tmp);
|
||||||
|
|
||||||
int32 hour = 0;
|
fMessage.MakeEmpty();
|
||||||
int32 minute = 0;
|
|
||||||
int32 second = 0;
|
fMessage.AddInt32("month", tm_struct->tm_mon);
|
||||||
int32 month = 0;
|
fMessage.AddInt32("day", tm_struct->tm_mday);
|
||||||
int32 day = 0;
|
fMessage.AddInt32("year", tm_struct->tm_year);
|
||||||
int32 year = 0;
|
|
||||||
bool isam = false;
|
fMessage.AddInt32("hour", tm_struct->tm_hour);
|
||||||
if (istime) {
|
fMessage.AddInt32("minute", tm_struct->tm_min);
|
||||||
if (message->FindInt32("hour", &hour) == B_OK)
|
fMessage.AddInt32("second", tm_struct->tm_sec);
|
||||||
_tm->tm_hour = hour;
|
|
||||||
if (message->FindInt32("minute", &minute) == B_OK)
|
SendNotices(H_TM_CHANGED, &fMessage);
|
||||||
_tm->tm_min = minute;
|
|
||||||
if (message->FindInt32("second", &second) == B_OK)
|
|
||||||
_tm->tm_sec = second;
|
|
||||||
if (message->FindBool("isam", &isam) == B_OK) {
|
|
||||||
if (!isam)
|
|
||||||
_tm->tm_hour += 12;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (message->FindInt32("month", &month) == B_OK)
|
|
||||||
_tm->tm_mon = month;
|
|
||||||
if (message->FindInt32("day", &day) == B_OK)
|
|
||||||
_tm->tm_mday = day;
|
|
||||||
if (message->FindInt32("year", &year) == B_OK)
|
|
||||||
_tm->tm_year = year;
|
|
||||||
}
|
|
||||||
|
|
||||||
time_t atime2 = mktime(_tm);
|
|
||||||
set_real_time_clock(atime2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Mike Berg (inseculous)
|
||||||
|
* Julun <[email protected]>
|
||||||
|
*/
|
||||||
#ifndef TIMEBASE_H
|
#ifndef TIMEBASE_H
|
||||||
#define TIMEBASE_H
|
#define TIMEBASE_H
|
||||||
|
|
||||||
#include <Message.h>
|
|
||||||
#include <View.h>
|
#include <View.h>
|
||||||
|
#include <Message.h>
|
||||||
|
|
||||||
|
|
||||||
class TTimeBaseView: public BView {
|
class TTimeBaseView: public BView {
|
||||||
public:
|
public:
|
||||||
TTimeBaseView(BRect frmae, const char *name);
|
TTimeBaseView(BRect frame, const char *name);
|
||||||
virtual ~TTimeBaseView();
|
virtual ~TTimeBaseView();
|
||||||
|
|
||||||
virtual void Pulse();
|
virtual void Pulse();
|
||||||
virtual void AttachedToWindow();
|
virtual void AttachedToWindow();
|
||||||
|
|
||||||
|
void SetGMTime(bool gmtTime);
|
||||||
|
void ChangeTime(BMessage *message);
|
||||||
|
|
||||||
void ChangeTime(BMessage *);
|
|
||||||
void SetGMTime(bool);
|
|
||||||
protected:
|
protected:
|
||||||
virtual void DispatchMessage();
|
virtual void DispatchMessage();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BMessage *fMessage;
|
bool fIsGMT;
|
||||||
bool fIsGMT;
|
BMessage fMessage;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //TIMEBASE_H
|
#endif // TIMEBASE_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,23 @@
|
|||||||
#include <Bitmap.h>
|
/*
|
||||||
|
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Julun <[email protected]>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Bitmaps.h"
|
||||||
|
|
||||||
|
|
||||||
#include <Debug.h>
|
#include <Debug.h>
|
||||||
#include <Screen.h>
|
#include <Screen.h>
|
||||||
|
|
||||||
#include "Bitmaps.h"
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ReplaceTransparentColor(BBitmap *bitmap, rgb_color with)
|
ReplaceTransparentColor(BBitmap *bitmap, rgb_color with)
|
||||||
{
|
{
|
||||||
ASSERT(bitmap->ColorSpace() == B_COLOR_8_BIT); // other color spaces not implemented yet
|
// other color spaces not implemented yet
|
||||||
|
ASSERT(bitmap->ColorSpace() == B_COLOR_8_BIT);
|
||||||
|
|
||||||
BScreen screen(B_MAIN_SCREEN_ID);
|
BScreen screen(B_MAIN_SCREEN_ID);
|
||||||
uint32 withIndex = screen.IndexForColor(with);
|
uint32 withIndex = screen.IndexForColor(with);
|
||||||
|
|||||||
+16
-505
@@ -1,510 +1,19 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Julun <[email protected]>
|
||||||
|
*/
|
||||||
|
#ifndef ANALOG_CLOCK_H
|
||||||
|
#define ANALOG_CLOCK_H
|
||||||
|
|
||||||
|
|
||||||
|
#include <Bitmap.h>
|
||||||
|
|
||||||
|
|
||||||
void ReplaceTransparentColor(BBitmap *bitmap, rgb_color with);
|
void ReplaceTransparentColor(BBitmap *bitmap, rgb_color with);
|
||||||
|
|
||||||
const int32 kClockFaceWidth = 85;
|
|
||||||
const int32 kClockFaceHeight = 85;
|
|
||||||
const color_space kClockFaceColorSpace = B_CMAP8;
|
|
||||||
|
|
||||||
const unsigned char kClockFaceBits [] = {
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x3f,0x3f,0x1e,0xff,0x18,0x16,0x13,0x12,0x11,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x13,0x16,0x18,0x1a,0x1d,0x3f,0x1d,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x3f,0x1e,0x1a,0x17,
|
|
||||||
0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x13,0x17,0x19,0x1e,0x1d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0x1e,0x3f,0x3f,0x1a,0x16,0x12,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,
|
|
||||||
0x16,0x19,0x1e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x1e,0x18,0x13,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x13,0x16,0x1c,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1e,0x3f,0x1e,0x18,
|
|
||||||
0x12,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0d,0x0b,0x09,0x07,0x06,0x05,0x04,
|
|
||||||
0x03,0x03,0x03,0x04,0x05,0x06,0x07,0x09,0x0b,0x0d,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x12,0x15,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0x1d,0x3f,0x3f,0x19,0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x0e,0x0b,0x08,
|
|
||||||
0x05,0x03,0x05,0x08,0x0c,0x11,0x15,0x19,0x1c,0x1e,0x3f,0x1e,0x1c,0x19,0x15,0x11,
|
|
||||||
0x0c,0x08,0x08,0x08,0x0b,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x13,0x15,
|
|
||||||
0x1d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x1b,0x14,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x0c,0x08,0x05,0x04,0x08,0x0f,0x17,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x0f,0x0b,0x0a,0x0c,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x17,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1c,
|
|
||||||
0x3f,0x3f,0x18,0x11,0x10,0x10,0x10,0x10,0x0f,0x0b,0x07,0x03,0x06,0x0f,0x19,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x0f,0x0c,0x0b,0x0f,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x11,0x14,0x1c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x1d,0x15,0x10,0x10,0x10,0x10,0x10,0x0b,
|
|
||||||
0x07,0x03,0x08,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x13,0x0e,0x0c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x18,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x1b,
|
|
||||||
0x13,0x10,0x10,0x10,0x10,0x0d,0x08,0x03,0x08,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x0e,0x0d,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x16,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0x1e,0x3f,0x1a,0x12,0x10,0x10,0x10,0x10,0x0a,0x05,0x05,0x10,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,
|
|
||||||
0x3f,0x3f,0xda,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1e,0x3f,0x19,0x11,0x10,
|
|
||||||
0x10,0x10,0x0e,0x08,0x03,0x0a,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,
|
|
||||||
0x0e,0x10,0x10,0x10,0x10,0x10,0x0f,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0x1d,0x3f,0x19,0x11,0x10,0x10,0x10,0x0d,0x07,0x04,0x0f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x1d,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x0f,0x10,0x10,0x10,0x10,0x10,0x0f,
|
|
||||||
0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x1a,0x11,0x10,0x10,0x10,
|
|
||||||
0x0c,0x06,0x06,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x16,0x10,0x10,0x10,0x10,0x10,0x10,0x0e,0x13,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0x1c,0x3f,0x1b,0x12,0x10,0x10,0x10,0x0c,0x05,0x06,0x16,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,
|
|
||||||
0x3f,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x0e,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x1d,0x13,0x10,0x10,0x10,0x0c,0x05,
|
|
||||||
0x07,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x1a,0x11,0x10,0x10,0x10,0x10,0x10,0x0e,0x16,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,
|
|
||||||
0x3f,0x15,0x10,0x10,0x10,0x0d,0x06,0x06,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,
|
|
||||||
0x2b,0x3f,0x2b,0x2b,0x2b,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
|
||||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x11,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x0e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x3f,0x18,0x10,0x10,0x10,0x0e,0x07,0x06,0x16,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x11,0x10,0x10,0x10,0x10,0x0d,0x10,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x1b,
|
|
||||||
0x11,0x10,0x10,0x10,0x08,0x04,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
|
||||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x11,
|
|
||||||
0x10,0x10,0x10,0x10,0x0d,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x1e,0x3f,0x14,0x10,0x10,0x10,0x0a,0x03,0x0f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x15,0x10,0x10,0x10,0x10,0x10,0x0d,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0x3f,0x19,0x10,
|
|
||||||
0x10,0x10,0x0d,0x05,0x0a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x13,0x10,0x10,0x10,0x10,0x0c,0x10,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0x3f,0x1e,0x13,0x10,0x10,0x10,0x08,0x05,0x18,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x12,0x10,0x10,0x10,0x10,0x0c,0x17,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0x3f,0x18,0x10,0x10,
|
|
||||||
0x10,0x0b,0x03,0x10,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x16,0x10,0x10,0x10,0x10,0x0d,0x0e,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0x1e,0x1e,0x12,0x10,0x10,0x0f,0x07,0x08,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1e,0x14,0x10,0x10,0x10,0x10,0x0b,
|
|
||||||
0x17,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0x3f,0x18,0x10,0x10,0x10,
|
|
||||||
0x0b,0x03,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x18,0x10,0x10,0x10,0x10,0x0c,0x0e,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0x1d,0x3f,0x13,0x10,0x10,0x10,0x07,0x08,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x15,0x10,0x10,0x10,0x10,
|
|
||||||
0x0a,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0x3f,0x1a,0x10,0x10,0x10,0x0c,
|
|
||||||
0x03,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x10,0x0a,0x11,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0x3f,0x16,0x10,0x10,0x10,0x08,0x06,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x10,0x10,0x10,
|
|
||||||
0x0d,0x0b,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x1d,0x1e,0x12,0x10,0x10,0x0e,0x05,
|
|
||||||
0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x17,0x10,0x10,0x10,0x10,0x09,0x18,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x3f,0x1a,0x10,0x10,0x10,0x0b,0x04,0x19,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x11,0x10,0x10,
|
|
||||||
0x10,0x09,0x11,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x3f,0x17,0x10,0x10,0x10,0x08,0x08,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x0c,0x0b,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x3f,0x13,0x10,0x10,0x10,0x05,0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,
|
|
||||||
0x10,0x0e,0x08,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x1e,0x10,0x10,0x10,0x0d,0x03,0x17,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x10,0x10,0x10,0x10,0x07,0x17,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0x10,0x10,0x10,0x0b,0x05,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x11,0x10,
|
|
||||||
0x10,0x10,0x08,0x12,0xff,0x3f,0x3f,0x3f,0xff,0x18,0x10,0x10,0x10,0x09,0x08,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x0a,0x0d,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x16,0x10,0x10,0x10,0x07,0x0c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x10,
|
|
||||||
0x10,0x10,0x0b,0x0a,0xff,0x3f,0x3f,0x3f,0xff,0x13,0x10,0x10,0x10,0x06,0x11,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x10,0x10,0x10,0x0d,0x08,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x12,0x10,0x10,0x10,0x05,0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x10,
|
|
||||||
0x10,0x10,0x0e,0x06,0xff,0x3f,0x3f,0x3f,0xff,0x11,0x10,0x10,0x10,0x04,0x19,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0xda,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,
|
|
||||||
0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x1d,0x10,0x10,0x10,0x0f,0x05,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x10,0x10,0x10,0x10,0x03,0x1c,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x1e,0x10,
|
|
||||||
0x10,0x10,0x0f,0x03,0xff,0x3f,0x3f,0x3f,0xff,0x10,0x10,0x10,0x10,0x03,0x1e,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x10,0x10,0x10,0x10,0x03,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x10,0x10,0x10,0x10,0x03,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,0x2b,0x2b,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x10,
|
|
||||||
0x10,0x10,0x0f,0x03,0xff,0x3f,0x3f,0x3f,0xff,0x10,0x10,0x10,0x10,0x04,0x1e,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x10,0x10,0x10,0x0f,0x03,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x10,0x10,0x10,0x10,0x05,0x1c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0xda,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x1e,0x10,
|
|
||||||
0x10,0x10,0x0e,0x03,0xff,0x3f,0x3f,0x3f,0xff,0x11,0x10,0x10,0x10,0x06,0x19,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,
|
|
||||||
0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x1d,0x10,0x10,0x10,0x0d,0x05,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x12,0x10,0x10,0x10,0x07,0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x10,
|
|
||||||
0x10,0x10,0x0b,0x06,0xff,0x3f,0x3f,0x3f,0xff,0x13,0x10,0x10,0x10,0x09,0x11,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x19,0x10,0x10,0x10,0x0a,0x08,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x16,0x10,0x10,0x10,0x0b,0x0c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x17,0x10,
|
|
||||||
0x10,0x10,0x08,0x0a,0xff,0x3f,0x3f,0x3f,0xff,0x18,0x10,0x10,0x10,0x0d,0x08,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x06,0x0d,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x1a,0x10,0x10,0x10,0x10,0x08,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x11,0x10,
|
|
||||||
0x10,0x0e,0x04,0x12,0xff,0x3f,0x3f,0x3f,0xff,0x1d,0x10,0x10,0x10,0x10,0x08,0x17,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x10,0x10,0x10,0x0c,0x04,0x17,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0x3f,0x13,0x10,0x10,0x10,0x0b,0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,
|
|
||||||
0x10,0x09,0x07,0xff,0xff,0x3f,0x3f,0x3f,0xff,0x1d,0x17,0x10,0x10,0x10,0x0e,0x0b,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x06,0x0b,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0x19,0x10,0x10,0x10,0x10,0x0a,0x19,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1d,0x11,0x10,0x10,
|
|
||||||
0x0d,0x04,0x11,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0x1e,0x12,0x10,0x10,0x10,0x0c,
|
|
||||||
0x0f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x0a,0x05,0x18,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0x1d,0x16,0x10,0x10,0x10,0x10,0x0c,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x13,0x10,0x10,0x10,
|
|
||||||
0x06,0x0a,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0x19,0x10,0x10,0x10,0x10,
|
|
||||||
0x0b,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x1a,0x10,0x10,0x10,0x0c,0x03,0x11,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0x1e,0x13,0x10,0x10,0x10,0x0f,0x0e,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x08,
|
|
||||||
0x07,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0x16,0x10,0x10,0x10,
|
|
||||||
0x10,0x0c,0x14,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x1a,0x10,0x10,0x10,0x0d,0x04,0x0e,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0x1c,0x12,0x10,0x10,0x10,0x10,0x0e,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x14,0x10,0x10,0x10,0x08,0x06,
|
|
||||||
0x17,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0x15,0x10,0x10,
|
|
||||||
0x10,0x10,0x0d,0x13,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x18,0x10,0x10,0x10,0x0c,0x04,0x0d,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x10,0x10,0x10,0x10,0x0e,0x18,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x12,0x10,0x10,0x10,0x07,0x06,0x17,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0x15,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x15,0x10,0x10,0x10,0x0b,0x03,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0x1d,0x12,0x10,0x10,0x10,0x10,0x0e,0x13,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x10,0x10,0x10,0x0d,0x06,0x09,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,
|
|
||||||
0x11,0x10,0x10,0x10,0x10,0x0f,0x16,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
|
||||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x11,
|
|
||||||
0x10,0x10,0x10,0x08,0x05,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x18,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x24,0x24,0x24,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x12,0x10,0x10,0x10,0x0a,0x03,0x0d,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0x1c,0x12,0x10,0x10,0x10,0x10,0x10,0x10,0x1a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0xad,0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0xda,0x2b,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xad,
|
|
||||||
0x24,0xad,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x13,0x10,0x10,
|
|
||||||
0x10,0x0c,0x05,0x0a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x18,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x11,0x1a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xda,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x60,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x1c,0x13,0x10,0x10,0x10,0x0d,0x06,0x07,0x16,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0x16,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x19,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1b,0x13,0x10,0x10,0x10,0x0d,
|
|
||||||
0x07,0x06,0x12,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x14,0x0f,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x11,0x17,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x1a,0x12,0x10,0x10,0x10,0x0e,0x07,0x05,0x10,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0x13,0x0f,0x10,0x10,0x10,0x10,0x10,0x11,0x15,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x2b,0x3f,0x3f,0x2b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x11,0x10,0x10,0x10,0x0d,0x07,0x05,
|
|
||||||
0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x0e,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x13,0x1a,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x2b,0x1d,0x3f,0x2b,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x15,
|
|
||||||
0x10,0x10,0x10,0x10,0x0d,0x07,0x05,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x16,
|
|
||||||
0x1e,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0xda,0x2b,0x2b,0xda,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x18,0x12,0x10,0x10,0x10,0x10,0x0c,0x06,0x06,0x10,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x14,
|
|
||||||
0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1a,0x14,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x0a,0x05,0x07,0x12,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x16,0x0e,0x0d,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x15,0x18,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x1a,0x14,0x10,0x10,0x10,0x10,0x10,0x0d,0x08,0x03,0x0a,0x16,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0x10,0x0d,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x13,0x17,0x1c,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1d,0x18,0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x0b,
|
|
||||||
0x06,0x05,0x0d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x0d,0x0c,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x14,0x18,0x1b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1c,0x18,0x14,0x11,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x0c,0x07,0x03,0x09,0x13,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x10,0x0c,0x0d,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x11,0x14,0x17,0x19,0x1b,0x1d,0x1e,0x3f,0x3f,0x3f,0x1e,0x1d,0x1b,0x19,
|
|
||||||
0x17,0x14,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0d,0x08,0x04,0x06,0x0f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,0x0e,
|
|
||||||
0x0b,0x0c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x0c,0x08,0x04,0x06,0x0d,0x17,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,0x0e,0x0a,0x0a,0x0d,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x0d,0x0a,0x06,0x03,0x07,0x0e,0x17,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0x11,0x0b,0x09,0x09,0x0c,0x0e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0e,0x0c,0x09,0x06,0x04,0x05,
|
|
||||||
0x0a,0x11,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x18,0x11,0x0b,
|
|
||||||
0x08,0x07,0x08,0x0a,0x0b,0x0d,0x0e,0x0f,0x0f,0x10,0x0f,0x0f,0x0e,0x0d,0x0b,0x0a,
|
|
||||||
0x08,0x06,0x04,0x04,0x07,0x0b,0x11,0x18,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x17,0x12,0x0d,0x0a,0x08,0x06,0x05,
|
|
||||||
0x03,0x03,0x03,0x03,0x03,0x05,0x06,0x08,0x0a,0x0d,0x12,0x17,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f
|
|
||||||
};
|
|
||||||
|
|
||||||
const int32 kCenterWidth = 7;
|
|
||||||
const int32 kCenterHeight = 7;
|
|
||||||
const color_space kCenterColorSpace = B_CMAP8;
|
|
||||||
|
|
||||||
const unsigned char kCenterBits [] = {
|
|
||||||
0x3f,0x3f,0x0a,0x0a,0x0a,0x3f,0x3f,0x3f,
|
|
||||||
0x3f,0x0a,0x15,0x15,0x15,0x0a,0x3f,0x0a,
|
|
||||||
0x0a,0x15,0x0a,0x0a,0x0a,0x15,0x0a,0x0a,
|
|
||||||
0x0a,0x15,0x0a,0x00,0x0a,0x15,0x0a,0x0a,
|
|
||||||
0x0a,0x15,0x0a,0x0a,0x0a,0x15,0x0a,0x0a,
|
|
||||||
0x3f,0x0a,0x15,0x15,0x15,0x0a,0x3f,0x3f,
|
|
||||||
0x3f,0x3f,0x0a,0x0a,0x0a,0x3f,0x3f};
|
|
||||||
|
|
||||||
const int32 kCapWidth = 5;
|
|
||||||
const int32 kCapHeight = 5;
|
|
||||||
const color_space kCapColorSpace = B_CMAP8;
|
|
||||||
|
|
||||||
const unsigned char kCapBits [] = {
|
|
||||||
0x0a, 0x15, 0x15, 0x15, 0x0a, 0x00, 0x00, 0x00,
|
|
||||||
0x15, 0x0a, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x00,
|
|
||||||
0x15, 0x0a, 0x00, 0x0a, 0x15, 0x00, 0x00, 0x00,
|
|
||||||
0x15, 0x0a, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x00,
|
|
||||||
0x0a, 0x15, 0x15, 0x15, 0x0a, 0x00, 0x00, 0x00
|
|
||||||
};
|
|
||||||
|
|
||||||
const int32 kUpArrowWidth = 16;
|
const int32 kUpArrowWidth = 16;
|
||||||
const int32 kUpArrowHeight = 7;
|
const int32 kUpArrowHeight = 7;
|
||||||
const color_space kUpArrowColorSpace = B_CMAP8;
|
const color_space kUpArrowColorSpace = B_CMAP8;
|
||||||
@@ -533,3 +42,5 @@ const unsigned char kDownArrowBits [] = {
|
|||||||
0xff,0xff,0xff,0xff,0xff,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0x18,0x3f,0xff,0xff
|
0xff,0xff,0xff,0xff,0xff,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0x18,0x3f,0xff,0xff
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif // ANALOG_CLOCK_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2004-2005, Haiku.
|
* Copyright 2004-2007, Haiku.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
* Michael Berg <[email protected]>
|
* Michael Berg <[email protected]>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <String.h>
|
#include <String.h>
|
||||||
#include <Window.h>
|
#include <Window.h>
|
||||||
|
|
||||||
@@ -455,12 +454,14 @@ void
|
|||||||
TCalendarView::DispatchMessage()
|
TCalendarView::DispatchMessage()
|
||||||
{
|
{
|
||||||
// send message to update timedate
|
// send message to update timedate
|
||||||
BMessage *msg = new BMessage(H_USER_CHANGE);
|
BMessage msg(H_USER_CHANGE);
|
||||||
msg->AddBool("time", false);
|
msg.AddBool("time", false);
|
||||||
msg->AddInt32("month", f_month);
|
msg.AddInt32("month", f_month);
|
||||||
|
msg.AddInt32("year", f_year);
|
||||||
|
|
||||||
if (f_cday != NULL)
|
if (f_cday != NULL)
|
||||||
msg->AddInt32("day", f_cday->Day());
|
msg.AddInt32("day", f_cday->Day());
|
||||||
msg->AddInt32("year", f_year);
|
|
||||||
|
|
||||||
Window()->PostMessage(msg);
|
Window()->PostMessage(&msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -299,5 +299,3 @@ TSectionEdit::DoDownPress()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//---//
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
#include "DateTimeEdit.h"
|
#include "DateTimeEdit.h"
|
||||||
#include "TimeMessages.h"
|
#include "TimeMessages.h"
|
||||||
|
|
||||||
|
|
||||||
#include <Entry.h>
|
#include <Entry.h>
|
||||||
#include <File.h>
|
#include <File.h>
|
||||||
#include <FindDirectory.h>
|
#include <FindDirectory.h>
|
||||||
@@ -25,7 +26,7 @@
|
|||||||
TSettingsView::TSettingsView(BRect frame)
|
TSettingsView::TSettingsView(BRect frame)
|
||||||
: BView(frame,"Settings", B_FOLLOW_ALL,
|
: BView(frame,"Settings", B_FOLLOW_ALL,
|
||||||
B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP),
|
B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP),
|
||||||
fGmtTime(NULL)
|
fGmtTime(NULL)
|
||||||
{
|
{
|
||||||
InitView();
|
InitView();
|
||||||
}
|
}
|
||||||
@@ -109,17 +110,6 @@ TSettingsView::InitView()
|
|||||||
fCalendar = new TCalendarView(frameLeft, "calendar", B_FOLLOW_NONE, B_WILL_DRAW);
|
fCalendar = new TCalendarView(frameLeft, "calendar", B_FOLLOW_NONE, B_WILL_DRAW);
|
||||||
AddChild(fCalendar);
|
AddChild(fCalendar);
|
||||||
|
|
||||||
frameLeft.top = fCalendar->Frame().bottom + 10;
|
|
||||||
BStringView *text = new BStringView(frameLeft, "timezone", "Timezone:");
|
|
||||||
AddChild(text);
|
|
||||||
text->ResizeToPreferred();
|
|
||||||
|
|
||||||
frameLeft.left += 20.0f;
|
|
||||||
frameLeft.top = text->Frame().bottom + 5;
|
|
||||||
|
|
||||||
fTimeZone = new BStringView(frameLeft, "label", " ");
|
|
||||||
AddChild(fTimeZone);
|
|
||||||
|
|
||||||
// right side
|
// right side
|
||||||
BRect frameRight(Bounds());
|
BRect frameRight(Bounds());
|
||||||
frameRight.left = frameRight.Width() / 2;
|
frameRight.left = frameRight.Width() / 2;
|
||||||
@@ -144,14 +134,15 @@ TSettingsView::InitView()
|
|||||||
// clock radio buttons
|
// clock radio buttons
|
||||||
frameRight.left = left;
|
frameRight.left = left;
|
||||||
frameRight.top = fClock->Frame().bottom + 10;
|
frameRight.top = fClock->Frame().bottom + 10;
|
||||||
text = new BStringView(frameRight, "clockis", "Clock set to:");
|
BStringView *text = new BStringView(frameRight, "clockis", "Clock set to:");
|
||||||
AddChild(text);
|
AddChild(text);
|
||||||
text->ResizeToPreferred();
|
text->ResizeToPreferred();
|
||||||
|
|
||||||
frameRight.left += 20.0f;
|
frameRight.left += 10.0f;
|
||||||
frameRight.top = text->Frame().bottom + 5;
|
frameRight.top = text->Frame().bottom + 5;
|
||||||
|
|
||||||
fLocalTime = new BRadioButton(frameRight, "local", "Local time", new BMessage(H_RTC_CHANGE));
|
fLocalTime = new BRadioButton(frameRight, "local", "Local time",
|
||||||
|
new BMessage(H_RTC_CHANGE));
|
||||||
AddChild(fLocalTime);
|
AddChild(fLocalTime);
|
||||||
fLocalTime->ResizeToPreferred();
|
fLocalTime->ResizeToPreferred();
|
||||||
|
|
||||||
@@ -200,14 +191,6 @@ TSettingsView::GMTime()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
TSettingsView::SetTimeZone(const char *timezone)
|
|
||||||
{
|
|
||||||
fTimeZone->SetText(timezone);
|
|
||||||
fTimeZone->ResizeToPreferred();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TSettingsView::UpdateDateTime(BMessage *message)
|
TSettingsView::UpdateDateTime(BMessage *message)
|
||||||
{
|
{
|
||||||
@@ -239,9 +222,9 @@ void
|
|||||||
TSettingsView::ReadRTCSettings()
|
TSettingsView::ReadRTCSettings()
|
||||||
{
|
{
|
||||||
BPath path;
|
BPath path;
|
||||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK) {
|
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
|
||||||
return; // NO USER SETTINGS DIRECTORY!!!
|
return;
|
||||||
}
|
|
||||||
path.Append("RTC_time_settings");
|
path.Append("RTC_time_settings");
|
||||||
|
|
||||||
BFile file;
|
BFile file;
|
||||||
@@ -249,9 +232,9 @@ TSettingsView::ReadRTCSettings()
|
|||||||
if (entry.Exists()) {
|
if (entry.Exists()) {
|
||||||
file.SetTo(&entry, B_READ_ONLY);
|
file.SetTo(&entry, B_READ_ONLY);
|
||||||
if (file.InitCheck() == B_OK) {
|
if (file.InitCheck() == B_OK) {
|
||||||
char buff[6];
|
char localTime[6];
|
||||||
file.Read(buff, 6);
|
file.Read(localTime, 6);
|
||||||
BString text(buff);
|
BString text(localTime);
|
||||||
if (text.Compare("local\n", 5) == 0)
|
if (text.Compare("local\n", 5) == 0)
|
||||||
fIsLocalTime = true;
|
fIsLocalTime = true;
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class TTimeEdit;
|
|||||||
class TCalendarView;
|
class TCalendarView;
|
||||||
class TAnalogClock;
|
class TAnalogClock;
|
||||||
class BRadioButton;
|
class BRadioButton;
|
||||||
class BStringView;
|
|
||||||
|
|
||||||
class TSettingsView : public BView {
|
class TSettingsView : public BView {
|
||||||
public:
|
public:
|
||||||
@@ -32,7 +32,6 @@ class TSettingsView : public BView {
|
|||||||
|
|
||||||
void ChangeRTCSetting();
|
void ChangeRTCSetting();
|
||||||
bool GMTime();
|
bool GMTime();
|
||||||
void SetTimeZone(const char *timezone);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void InitView();
|
void InitView();
|
||||||
@@ -46,8 +45,7 @@ class TSettingsView : public BView {
|
|||||||
TCalendarView *fCalendar;
|
TCalendarView *fCalendar;
|
||||||
TAnalogClock *fClock;
|
TAnalogClock *fClock;
|
||||||
bool fIsLocalTime;
|
bool fIsLocalTime;
|
||||||
BStringView *fTimeZone;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // SETTINGS_VIEW_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +1,34 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors in chronological order:
|
* Authors:
|
||||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||||
* Mike Berg
|
* Mike Berg (inseculous)
|
||||||
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "Time.h"
|
#include "Time.h"
|
||||||
#include "TimeSettings.h"
|
|
||||||
#include "TimeMessages.h"
|
#include "TimeMessages.h"
|
||||||
|
#include "TimeSettings.h"
|
||||||
|
#include "TimeWindow.h"
|
||||||
|
|
||||||
|
|
||||||
#include <Alert.h>
|
#include <Alert.h>
|
||||||
|
#include <Message.h>
|
||||||
|
|
||||||
|
|
||||||
TimeApplication::TimeApplication()
|
TimeApplication::TimeApplication()
|
||||||
: BApplication(HAIKU_APP_SIGNATURE)
|
: BApplication(HAIKU_APP_SIGNATURE),
|
||||||
|
fWindow(NULL)
|
||||||
{
|
{
|
||||||
fSettings = new TimeSettings();
|
BPoint pt = TimeSettings().LeftTop();
|
||||||
fWindow = new TTimeWindow();
|
fWindow = new TTimeWindow(pt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TimeApplication::~TimeApplication()
|
TimeApplication::~TimeApplication()
|
||||||
{
|
{
|
||||||
delete fSettings;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -33,12 +36,12 @@ void
|
|||||||
TimeApplication::MessageReceived(BMessage *message)
|
TimeApplication::MessageReceived(BMessage *message)
|
||||||
{
|
{
|
||||||
switch (message->what) {
|
switch (message->what) {
|
||||||
case ERROR_DETECTED:
|
case UPDATE_SETTINGS:
|
||||||
(new BAlert("Error", "Something has gone wrong!", "OK",
|
{
|
||||||
NULL, NULL, B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
|
BPoint pt;
|
||||||
B_WARNING_ALERT))->Go();
|
if (message->FindPoint("LeftTop", &pt) == B_OK)
|
||||||
be_app->PostMessage(B_QUIT_REQUESTED);
|
TimeSettings().SetLeftTop(pt);
|
||||||
break;
|
} break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
BApplication::MessageReceived(message);
|
BApplication::MessageReceived(message);
|
||||||
@@ -57,14 +60,8 @@ TimeApplication::ReadyToRun()
|
|||||||
void
|
void
|
||||||
TimeApplication::AboutRequested()
|
TimeApplication::AboutRequested()
|
||||||
{
|
{
|
||||||
(new BAlert("about", "...by Andrew Edward McCall\n...Mike Berg too", "Big Deal"))->Go();
|
BAlert alert("about", "Time & Date, by\n\nAndrew Edward McCall\nMike Berg", "OK");
|
||||||
}
|
alert.Go();
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
TimeApplication::SetWindowCorner(BPoint corner)
|
|
||||||
{
|
|
||||||
fSettings->SetWindowCorner(corner);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -72,7 +69,7 @@ TimeApplication::SetWindowCorner(BPoint corner)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int, char**)
|
main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
TimeApplication app;
|
TimeApplication app;
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|||||||
+15
-18
@@ -1,38 +1,35 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors in chronological order:
|
* Authors:
|
||||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||||
* Mike Berg
|
* Mike Berg (inseculous)
|
||||||
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
#ifndef TIME_H
|
#ifndef TIME_H
|
||||||
#define TIME_H
|
#define TIME_H
|
||||||
|
|
||||||
|
|
||||||
#include "TimeSettings.h"
|
|
||||||
#include "TimeWindow.h"
|
|
||||||
|
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
|
|
||||||
|
|
||||||
|
class BMessage;
|
||||||
|
class TTimeWindow;
|
||||||
|
|
||||||
|
|
||||||
class TimeApplication : public BApplication {
|
class TimeApplication : public BApplication {
|
||||||
public:
|
public:
|
||||||
TimeApplication();
|
TimeApplication();
|
||||||
virtual ~TimeApplication();
|
virtual ~TimeApplication();
|
||||||
|
|
||||||
void MessageReceived(BMessage* message);
|
virtual void MessageReceived(BMessage* message);
|
||||||
|
virtual void ReadyToRun();
|
||||||
void ReadyToRun();
|
virtual void AboutRequested();
|
||||||
void AboutRequested();
|
|
||||||
|
|
||||||
void SetWindowCorner(BPoint corner);
|
|
||||||
BPoint WindowCorner() const
|
|
||||||
{ return fSettings->WindowCorner(); }
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TimeSettings *fSettings;
|
TTimeWindow *fWindow;
|
||||||
TTimeWindow *fWindow;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TIME_H
|
#endif // TIME_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||||
TimeMessages.h
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
*/
|
* Authors:
|
||||||
|
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||||
|
* Mike Berg (inseculous)
|
||||||
|
* Julun <host.haiku@gmx.de>
|
||||||
|
*/
|
||||||
#ifndef TIME_MESSAGES_H
|
#ifndef TIME_MESSAGES_H
|
||||||
#define TIME_MESSAGES_H
|
#define TIME_MESSAGES_H
|
||||||
|
|
||||||
#define HAIKU_APP_SIGNATURE "application/x-vnd.Be-TIME"
|
#define HAIKU_APP_SIGNATURE "application/x-vnd.Be-TIME"
|
||||||
|
|
||||||
const uint32 ERROR_DETECTED = 'ERor';
|
const uint32 UPDATE_SETTINGS = 'TDUS';
|
||||||
|
|
||||||
//Timezone messages
|
//Timezone messages
|
||||||
const uint32 H_REGION_CHANGED = 'h_RC';
|
const uint32 H_REGION_CHANGED = 'h_RC';
|
||||||
@@ -38,5 +41,8 @@ const uint32 H_USER_CHANGE = 'obUC';
|
|||||||
// local/gmt radiobuttons
|
// local/gmt radiobuttons
|
||||||
const uint32 H_RTC_CHANGE = 'obRC';
|
const uint32 H_RTC_CHANGE = 'obRC';
|
||||||
|
|
||||||
|
// sunday/monday radio button
|
||||||
|
const uint32 kWeekStart = '_kws';
|
||||||
|
|
||||||
#endif //TIME_MESSAGES_H
|
#endif //TIME_MESSAGES_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,66 +1,65 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors in chronological order:
|
* Authors:
|
||||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||||
* Mike Berg
|
* Mike Berg (inseculous)
|
||||||
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "TimeSettings.h"
|
#include "TimeSettings.h"
|
||||||
#include "TimeMessages.h"
|
#include "TimeMessages.h"
|
||||||
|
|
||||||
#include <Application.h>
|
|
||||||
#include <FindDirectory.h>
|
|
||||||
#include <File.h>
|
#include <File.h>
|
||||||
|
#include <FindDirectory.h>
|
||||||
#include <Path.h>
|
#include <Path.h>
|
||||||
#include <String.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
|
|
||||||
const char TimeSettings::kTimeSettingsFile[] = "Time_settings";
|
|
||||||
|
|
||||||
|
|
||||||
TimeSettings::TimeSettings()
|
TimeSettings::TimeSettings()
|
||||||
|
: fSettingsFile("Time_settings")
|
||||||
{
|
{
|
||||||
BPath path;
|
|
||||||
|
|
||||||
if (find_directory(B_USER_SETTINGS_DIRECTORY,&path) == B_OK) {
|
|
||||||
path.Append(kTimeSettingsFile);
|
|
||||||
BFile file(path.Path(), B_READ_ONLY);
|
|
||||||
if (file.InitCheck() == B_OK) {
|
|
||||||
// Now read in the data
|
|
||||||
if (file.Read(&fCorner, sizeof(BPoint)) != sizeof(BPoint)) {
|
|
||||||
fCorner.x = 50;
|
|
||||||
fCorner.y = 50;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fCorner.x = 50;
|
|
||||||
fCorner.y = 50;
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
be_app->PostMessage(ERROR_DETECTED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TimeSettings::~TimeSettings()
|
TimeSettings::~TimeSettings()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BPoint
|
||||||
|
TimeSettings::LeftTop() const
|
||||||
{
|
{
|
||||||
BPath path;
|
BPath path;
|
||||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) < B_OK)
|
BPoint leftTop(50.0, 50.0);
|
||||||
return;
|
|
||||||
|
|
||||||
path.Append(kTimeSettingsFile);
|
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) == B_OK) {
|
||||||
|
path.Append(fSettingsFile.String());
|
||||||
BFile file(path.Path(), B_WRITE_ONLY | B_CREATE_FILE);
|
|
||||||
if (file.InitCheck() == B_OK) {
|
BFile file(path.Path(), B_READ_ONLY);
|
||||||
file.Write(&fCorner, sizeof(BPoint));
|
if (file.InitCheck() == B_OK) {
|
||||||
|
BPoint tmp;
|
||||||
|
if (file.Read(&tmp, sizeof(BPoint)) == sizeof(BPoint))
|
||||||
|
leftTop = tmp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return leftTop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TimeSettings::SetWindowCorner(BPoint corner)
|
TimeSettings::SetLeftTop(const BPoint leftTop)
|
||||||
{
|
{
|
||||||
fCorner = corner;
|
BPath path;
|
||||||
|
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
|
path.Append(fSettingsFile.String());
|
||||||
|
|
||||||
|
BFile file(path.Path(), B_WRITE_ONLY | B_CREATE_FILE);
|
||||||
|
if (file.InitCheck() == B_OK)
|
||||||
|
file.Write(&leftTop, sizeof(BPoint));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,31 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2006, Haiku. All rights reserved.
|
* Copyright 2002-2007, Haiku. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors in chronological order:
|
* Authors:
|
||||||
* Andrew McCall, mccall@digitalparadise.co.uk
|
* Andrew McCall, mccall@digitalparadise.co.uk
|
||||||
* Mike Berg
|
* Mike Berg (inseculous)
|
||||||
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
#ifndef TIME_SETTINGS_H
|
#ifndef TIME_SETTINGS_H
|
||||||
#define TIME_SETTINGS_H
|
#define TIME_SETTINGS_H
|
||||||
|
|
||||||
|
|
||||||
#include <Point.h>
|
#include <Point.h>
|
||||||
|
#include <String.h>
|
||||||
|
|
||||||
|
|
||||||
class TimeSettings {
|
class TimeSettings {
|
||||||
public :
|
public :
|
||||||
TimeSettings();
|
TimeSettings();
|
||||||
~TimeSettings();
|
~TimeSettings();
|
||||||
|
|
||||||
BPoint WindowCorner() const { return fCorner; }
|
BPoint LeftTop() const;
|
||||||
void SetWindowCorner(BPoint corner);
|
void SetLeftTop(const BPoint leftTop);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const char kTimeSettingsFile[];
|
BString fSettingsFile;
|
||||||
BPoint fCorner;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TIME_SETTINGS_H
|
#endif // TIME_SETTINGS_H
|
||||||
|
|
||||||
|
|||||||
@@ -6,32 +6,28 @@
|
|||||||
* mccall@@digitalparadise.co.uk
|
* mccall@@digitalparadise.co.uk
|
||||||
* Julun <host.haiku@gmx.de>
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "TimeWindow.h"
|
||||||
|
#include "BaseView.h"
|
||||||
|
#include "SettingsView.h"
|
||||||
|
#include "TimeMessages.h"
|
||||||
|
#include "ZoneView.h"
|
||||||
|
|
||||||
|
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
#include <Message.h>
|
#include <Message.h>
|
||||||
#include <Screen.h>
|
#include <Screen.h>
|
||||||
#include <TabView.h>
|
#include <TabView.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include "BaseView.h"
|
#define WINDOW_RIGHT 400
|
||||||
#include "SettingsView.h"
|
#define WINDOW_BOTTOM 227
|
||||||
#include "Time.h"
|
|
||||||
#include "TimeMessages.h"
|
|
||||||
#include "TimeWindow.h"
|
|
||||||
#include "TimeSettings.h"
|
|
||||||
#include "ZoneView.h"
|
|
||||||
|
|
||||||
#define TIME_WINDOW_RIGHT 400 //332
|
|
||||||
#define TIME_WINDOW_BOTTOM 227 //208
|
|
||||||
|
|
||||||
|
|
||||||
TTimeWindow::TTimeWindow()
|
TTimeWindow::TTimeWindow(const BPoint leftTop)
|
||||||
: BWindow(BRect(0, 0, TIME_WINDOW_RIGHT, TIME_WINDOW_BOTTOM),
|
: BWindow(BRect(leftTop, leftTop + BPoint(WINDOW_RIGHT, WINDOW_BOTTOM)),
|
||||||
"Time & Date", B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE )
|
"Time & Date", B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE)
|
||||||
{
|
{
|
||||||
MoveTo(dynamic_cast<TimeApplication *>(be_app)->WindowCorner());
|
|
||||||
|
|
||||||
BRect frame = Frame();
|
BRect frame = Frame();
|
||||||
BRect bounds = Bounds();
|
BRect bounds = Bounds();
|
||||||
BRect screenFrame = BScreen().Frame();
|
BRect screenFrame = BScreen().Frame();
|
||||||
@@ -40,7 +36,7 @@ TTimeWindow::TTimeWindow()
|
|||||||
MoveTo((screenFrame.right - bounds.right) * 0.5f,
|
MoveTo((screenFrame.right - bounds.right) * 0.5f,
|
||||||
(screenFrame.bottom - bounds.bottom) * 0.5f);
|
(screenFrame.bottom - bounds.bottom) * 0.5f);
|
||||||
|
|
||||||
InitWindow();
|
_InitWindow();
|
||||||
SetPulseRate(500000);
|
SetPulseRate(500000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,8 +47,8 @@ TTimeWindow::MessageReceived(BMessage *message)
|
|||||||
switch(message->what) {
|
switch(message->what) {
|
||||||
case H_USER_CHANGE:
|
case H_USER_CHANGE:
|
||||||
{
|
{
|
||||||
bool istime;
|
bool isTime;
|
||||||
if (message->FindBool("time", &istime) == B_OK)
|
if (message->FindBool("time", &isTime) == B_OK)
|
||||||
fBaseView->ChangeTime(message);
|
fBaseView->ChangeTime(message);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -60,7 +56,7 @@ TTimeWindow::MessageReceived(BMessage *message)
|
|||||||
case H_RTC_CHANGE:
|
case H_RTC_CHANGE:
|
||||||
fBaseView->SetGMTime(fTimeSettings->GMTime());
|
fBaseView->SetGMTime(fTimeSettings->GMTime());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
BWindow::MessageReceived(message);
|
BWindow::MessageReceived(message);
|
||||||
break;
|
break;
|
||||||
@@ -71,7 +67,9 @@ TTimeWindow::MessageReceived(BMessage *message)
|
|||||||
bool
|
bool
|
||||||
TTimeWindow::QuitRequested()
|
TTimeWindow::QuitRequested()
|
||||||
{
|
{
|
||||||
dynamic_cast<TimeApplication *>(be_app)->SetWindowCorner(BPoint(Frame().left,Frame().top));
|
BMessage msg(UPDATE_SETTINGS);
|
||||||
|
msg.AddPoint("LeftTop", Frame().LeftTop());
|
||||||
|
be_app->PostMessage(&msg);
|
||||||
|
|
||||||
fBaseView->StopWatchingAll(fTimeSettings);
|
fBaseView->StopWatchingAll(fTimeSettings);
|
||||||
fBaseView->StopWatchingAll(fTimeZones);
|
fBaseView->StopWatchingAll(fTimeZones);
|
||||||
@@ -79,12 +77,11 @@ TTimeWindow::QuitRequested()
|
|||||||
be_app->PostMessage(B_QUIT_REQUESTED);
|
be_app->PostMessage(B_QUIT_REQUESTED);
|
||||||
|
|
||||||
return BWindow::QuitRequested();
|
return BWindow::QuitRequested();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TTimeWindow::InitWindow()
|
TTimeWindow::_InitWindow()
|
||||||
{
|
{
|
||||||
BRect bounds(Bounds());
|
BRect bounds(Bounds());
|
||||||
|
|
||||||
@@ -99,12 +96,10 @@ TTimeWindow::InitWindow()
|
|||||||
bounds.bottom -= tabview->TabHeight();
|
bounds.bottom -= tabview->TabHeight();
|
||||||
|
|
||||||
fTimeSettings = new TSettingsView(bounds);
|
fTimeSettings = new TSettingsView(bounds);
|
||||||
if (fBaseView->StartWatchingAll(fTimeSettings) != B_OK)
|
fBaseView->StartWatchingAll(fTimeSettings);
|
||||||
printf("StartWatchingAll(TimeSettings) failed!!!\n");
|
|
||||||
|
|
||||||
fTimeZones = new TZoneView(bounds);
|
fTimeZones = new TZoneView(bounds);
|
||||||
if (fBaseView->StartWatchingAll(fTimeZones) != B_OK)
|
fBaseView->StartWatchingAll(fTimeZones);
|
||||||
printf("TimeZones->StartWatchingAll(TimeZone) failed!!!\n");
|
|
||||||
|
|
||||||
// add tabs
|
// add tabs
|
||||||
BTab *tab = new BTab();
|
BTab *tab = new BTab();
|
||||||
@@ -121,6 +116,6 @@ TTimeWindow::InitWindow()
|
|||||||
float height;
|
float height;
|
||||||
fTimeSettings->GetPreferredSize(&width, &height);
|
fTimeSettings->GetPreferredSize(&width, &height);
|
||||||
// width/ height from settingsview + all InsetBy etc..
|
// width/ height from settingsview + all InsetBy etc..
|
||||||
ResizeTo(width +10, height + tabview->TabHeight() +25);
|
ResizeTo(width +5, height + tabview->TabHeight() +25);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,27 +1,39 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
* Copyright 2004-2007, Haiku, Inc. All Rights Reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* mccall@@digitalparadise.co.uk
|
||||||
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
#ifndef TIME_WINDOW_H
|
#ifndef TIME_WINDOW_H
|
||||||
#define TIME_WINDOW_H
|
#define TIME_WINDOW_H
|
||||||
|
|
||||||
|
|
||||||
#include <Window.h>
|
#include <Window.h>
|
||||||
|
|
||||||
|
|
||||||
|
class BMessage;
|
||||||
class TSettingsView;
|
class TSettingsView;
|
||||||
class TTimeBaseView;
|
class TTimeBaseView;
|
||||||
class TZoneView;
|
class TZoneView;
|
||||||
|
|
||||||
|
|
||||||
class TTimeWindow : public BWindow {
|
class TTimeWindow : public BWindow {
|
||||||
public:
|
public:
|
||||||
TTimeWindow();
|
TTimeWindow(const BPoint topLeft);
|
||||||
|
virtual ~TTimeWindow() {}
|
||||||
bool QuitRequested();
|
|
||||||
virtual void MessageReceived(BMessage *message);
|
|
||||||
private:
|
|
||||||
void InitWindow();
|
|
||||||
|
|
||||||
TTimeBaseView *fBaseView;
|
virtual bool QuitRequested();
|
||||||
TSettingsView *fTimeSettings;
|
virtual void MessageReceived(BMessage *message);
|
||||||
TZoneView *fTimeZones;
|
|
||||||
|
private:
|
||||||
|
void _InitWindow();
|
||||||
|
|
||||||
|
TTimeBaseView *fBaseView;
|
||||||
|
TSettingsView *fTimeSettings;
|
||||||
|
TZoneView *fTimeZones;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // TIME_WINDOW_H
|
||||||
|
|
||||||
|
|||||||
+147
-212
@@ -6,6 +6,7 @@
|
|||||||
* Mike Berg (inseculous)
|
* Mike Berg (inseculous)
|
||||||
* Julun <host.haiku@gmx.de>
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Exceptions:
|
Exceptions:
|
||||||
doesn't calc "Time in" time.
|
doesn't calc "Time in" time.
|
||||||
@@ -17,61 +18,49 @@
|
|||||||
inital info so I can get exact duplication.
|
inital info so I can get exact duplication.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Button.h>
|
#include "ZoneView.h"
|
||||||
|
#include "TimeMessages.h"
|
||||||
|
#include "TZDisplay.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include <Button.h>
|
||||||
#include <Directory.h>
|
#include <Directory.h>
|
||||||
#include <Entry.h>
|
#include <Entry.h>
|
||||||
#include <FindDirectory.h>
|
#include <FindDirectory.h>
|
||||||
|
#include <ListItem.h>
|
||||||
#include <ListView.h>
|
#include <ListView.h>
|
||||||
#include <MenuField.h>
|
#include <MenuField.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <MenuBar.h>
|
#include <MenuBar.h>
|
||||||
#include <PopUpMenu.h>
|
#include <PopUpMenu.h>
|
||||||
#include <ScrollView.h>
|
#include <ScrollView.h>
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <StorageDefs.h>
|
#include <StorageDefs.h>
|
||||||
#include <String.h>
|
#include <String.h>
|
||||||
#include <View.h>
|
#include <View.h>
|
||||||
#include <Window.h>
|
|
||||||
|
|
||||||
#include "TimeMessages.h"
|
|
||||||
#include "ZoneView.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*=====> TZoneItem <=====*/
|
#include <stdio.h>
|
||||||
TZoneItem::TZoneItem(const char *text, const char *zone)
|
#include <stdlib.h>
|
||||||
:BStringItem(text),
|
|
||||||
fZone(new BPath(zone))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
TZoneItem::~TZoneItem()
|
class TZoneItem: public BStringItem {
|
||||||
{
|
public:
|
||||||
delete fZone;
|
TZoneItem(const char *text, const char *zone)
|
||||||
}
|
: BStringItem(text), fZone(new BPath(zone)) { }
|
||||||
|
|
||||||
|
~TZoneItem() { delete fZone; }
|
||||||
|
|
||||||
|
const char *Zone() const { return fZone->Leaf(); }
|
||||||
|
const char *Path() const { return fZone->Path(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
BPath *fZone;
|
||||||
|
};
|
||||||
|
|
||||||
const char *
|
|
||||||
TZoneItem::Zone() const
|
|
||||||
{
|
|
||||||
return fZone->Leaf();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const char *
|
|
||||||
TZoneItem::Path() const
|
|
||||||
{
|
|
||||||
return fZone->Path();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*=====> TZoneView <=====*/
|
|
||||||
|
|
||||||
TZoneView::TZoneView(BRect frame)
|
TZoneView::TZoneView(BRect frame)
|
||||||
: BView(frame, B_EMPTY_STRING, B_FOLLOW_ALL, B_WILL_DRAW|B_NAVIGABLE_JUMP)
|
: BView(frame, B_EMPTY_STRING, B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE_JUMP),
|
||||||
, f_first(true)
|
fNotInitialized(true)
|
||||||
{
|
{
|
||||||
ReadTimeZoneLink();
|
ReadTimeZoneLink();
|
||||||
InitView();
|
InitView();
|
||||||
@@ -83,36 +72,30 @@ TZoneView::~TZoneView()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
TZoneView::AllAttached()
|
|
||||||
{
|
|
||||||
BView::AllAttached();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TZoneView::AttachedToWindow()
|
TZoneView::AttachedToWindow()
|
||||||
{
|
{
|
||||||
if (Parent())
|
if (Parent())
|
||||||
SetViewColor(Parent()->ViewColor());
|
SetViewColor(Parent()->ViewColor());
|
||||||
|
|
||||||
if (f_first) {
|
if (fNotInitialized) {
|
||||||
// stupid hack
|
// stupid hack
|
||||||
f_regionpopup->SetTargetForItems(this);
|
fRegionPopUp->SetTargetForItems(this);
|
||||||
f_setzone->SetTarget(this);
|
fSetZone->SetTarget(this);
|
||||||
f_citylist->SetTarget(this);
|
fCityList->SetTarget(this);
|
||||||
|
|
||||||
// update displays
|
// update displays
|
||||||
BPath parent;
|
BPath parent;
|
||||||
f_currentzone.GetParent(&parent);
|
fCurrentZone.GetParent(&parent);
|
||||||
int czone = FillCityList(parent.Path());
|
int32 czone = FillCityList(parent.Path());
|
||||||
if (czone> -1) {
|
if (czone > -1) {
|
||||||
f_citylist->Select(czone);
|
fCityList->Select(czone);
|
||||||
f_current->SetText( ((TZoneItem *)f_citylist->ItemAt(czone))->Text() );
|
fCurrent->SetText(((TZoneItem *)fCityList->ItemAt(czone))->Text());
|
||||||
}
|
}
|
||||||
f_first = false;
|
fNotInitialized = false;
|
||||||
|
ResizeTo(Bounds().Width(), Bounds().Height() +40);
|
||||||
}
|
}
|
||||||
f_citylist->ScrollToSelection();
|
fCityList->ScrollToSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -155,27 +138,27 @@ TZoneView::MessageReceived(BMessage *message)
|
|||||||
const char*
|
const char*
|
||||||
TZoneView::TimeZone()
|
TZoneView::TimeZone()
|
||||||
{
|
{
|
||||||
return f_current->Text();
|
return fCurrent->Text();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TZoneView::UpdateDateTime(BMessage *message)
|
TZoneView::UpdateDateTime(BMessage *message)
|
||||||
{
|
{
|
||||||
// only need hour and minute
|
int32 hour;
|
||||||
int32 hour, minute;
|
int32 minute;
|
||||||
|
|
||||||
|
// only need hour and minute
|
||||||
if (message->FindInt32("hour", &hour) == B_OK
|
if (message->FindInt32("hour", &hour) == B_OK
|
||||||
&& message->FindInt32("minute", &minute) == B_OK) {
|
&& message->FindInt32("minute", &minute) == B_OK) {
|
||||||
if (f_hour != hour || f_minute != minute) {
|
if (fHour != hour || fMinute != minute) {
|
||||||
f_hour = hour;
|
fHour = hour;
|
||||||
f_minute = minute;
|
fMinute = minute;
|
||||||
f_current->SetTo(hour, minute);
|
fCurrent->SetTo(hour, minute);
|
||||||
|
|
||||||
if (f_citylist->CurrentSelection()> -1) {
|
// do calc to get other zone time
|
||||||
// do calc to get other zone time
|
if (fCityList->CurrentSelection() > -1)
|
||||||
SetPreview();
|
SetPreview();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -184,99 +167,80 @@ TZoneView::UpdateDateTime(BMessage *message)
|
|||||||
void
|
void
|
||||||
TZoneView::InitView()
|
TZoneView::InitView()
|
||||||
{
|
{
|
||||||
font_height finfo;
|
font_height fontHeight;
|
||||||
be_plain_font->GetHeight(&finfo);
|
be_plain_font->GetHeight(&fontHeight);
|
||||||
float text_height = finfo.ascent +finfo.descent +finfo.leading;
|
float textHeight = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
|
||||||
|
|
||||||
BRect bounds(Bounds().InsetByCopy(4, 2));
|
|
||||||
BRect frame(bounds);
|
|
||||||
|
|
||||||
// Zone menu
|
// Zone menu
|
||||||
f_regionpopup = new BPopUpMenu(B_EMPTY_STRING, true, true, B_ITEMS_IN_COLUMN);
|
fRegionPopUp = new BPopUpMenu(B_EMPTY_STRING, true, true, B_ITEMS_IN_COLUMN);
|
||||||
|
|
||||||
float widest = 0;
|
BuildRegionMenu();
|
||||||
BuildRegionMenu(&widest);
|
|
||||||
|
|
||||||
frame.right = frame.left +widest +25;
|
// left side
|
||||||
frame.bottom = frame.top +text_height -1;
|
BRect frameLeft(Bounds());
|
||||||
|
frameLeft.right = frameLeft.Width() / 2;
|
||||||
|
frameLeft.InsetBy(10.0f, 10.0f);
|
||||||
|
|
||||||
BMenuField *mField;
|
BMenuField *menuField = new BMenuField(frameLeft, "regions", NULL, fRegionPopUp, false);
|
||||||
mField= new BMenuField(frame, "regions", NULL, f_regionpopup, true);
|
AddChild(menuField);
|
||||||
mField->MenuBar()->SetBorder(B_BORDER_CONTENTS);
|
menuField->ResizeToPreferred();
|
||||||
mField->MenuBar()->ResizeToPreferred();
|
|
||||||
AddChild(mField);
|
|
||||||
|
|
||||||
|
frameLeft.top = menuField->Frame().bottom +10;
|
||||||
|
frameLeft.right -= B_V_SCROLL_BAR_WIDTH;
|
||||||
|
|
||||||
// City Listing
|
// City Listing
|
||||||
|
fCityList = new BListView(frameLeft, "cityList", B_SINGLE_SELECTION_LIST,
|
||||||
|
B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE | B_FRAME_EVENTS);
|
||||||
|
fCityList->SetSelectionMessage(new BMessage(H_CITY_CHANGED));
|
||||||
|
fCityList->SetInvocationMessage(new BMessage(H_SET_TIME_ZONE));
|
||||||
|
|
||||||
frame = mField->MenuBar()->Frame();
|
BScrollView *scrollList = new BScrollView("scroll_list", fCityList,
|
||||||
frame.top += frame.bottom +1;
|
B_FOLLOW_ALL, 0, false, true);
|
||||||
frame.right = mField->Bounds().Width() -B_V_SCROLL_BAR_WIDTH +2;
|
|
||||||
frame.bottom = bounds.bottom;
|
|
||||||
frame.OffsetBy(2, 0);
|
|
||||||
frame.InsetBy(3, 5);
|
|
||||||
|
|
||||||
f_citylist = new BListView(frame, "cities", B_SINGLE_SELECTION_LIST,
|
|
||||||
B_FOLLOW_LEFT|B_FOLLOW_TOP,
|
|
||||||
B_WILL_DRAW|B_NAVIGABLE|B_FRAME_EVENTS);
|
|
||||||
|
|
||||||
BMessage *citychange = new BMessage(H_CITY_CHANGED);
|
|
||||||
f_citylist->SetSelectionMessage(citychange);
|
|
||||||
|
|
||||||
BMessage *cityinvoke = new BMessage(H_SET_TIME_ZONE);
|
|
||||||
f_citylist->SetInvocationMessage(cityinvoke);
|
|
||||||
|
|
||||||
BScrollView *scrollList;
|
|
||||||
scrollList = new BScrollView("scroll_list", f_citylist,
|
|
||||||
B_FOLLOW_LEFT|B_FOLLOW_TOP, 0, false, true);
|
|
||||||
AddChild(scrollList);
|
AddChild(scrollList);
|
||||||
|
|
||||||
|
// right side
|
||||||
|
BRect frameRight(Bounds());
|
||||||
|
frameRight.left = frameRight.Width() / 2;
|
||||||
|
frameRight.InsetBy(10.0f, 10.0f);
|
||||||
|
frameRight.top = frameLeft.top;
|
||||||
|
|
||||||
// Time Displays
|
// Time Displays
|
||||||
|
fCurrent = new TTZDisplay(frameRight, "current",
|
||||||
|
B_FOLLOW_NONE, B_WILL_DRAW, "Current time zone:", B_EMPTY_STRING);
|
||||||
|
AddChild(fCurrent);
|
||||||
|
fCurrent->ResizeToPreferred();
|
||||||
|
|
||||||
frame.OffsetBy(scrollList->Bounds().Width() +9, 3);
|
frameRight.OffsetBy(0, (textHeight) * 3 +10.0);
|
||||||
frame.bottom = frame.top +text_height *2;
|
fPreview = new TTZDisplay(frameRight, "preview",
|
||||||
frame.right = bounds.right -6;
|
B_FOLLOW_NONE, B_WILL_DRAW, "Time in: ", B_EMPTY_STRING);
|
||||||
f_current = new TTZDisplay(frame, "current",
|
AddChild(fPreview);
|
||||||
B_FOLLOW_LEFT|B_FOLLOW_TOP, B_WILL_DRAW,
|
fPreview->ResizeToPreferred();
|
||||||
"Current time zone:", B_EMPTY_STRING);
|
|
||||||
f_current->ResizeToPreferred();
|
|
||||||
|
|
||||||
frame.OffsetBy(0, (text_height *3) +2);
|
|
||||||
f_preview = new TTZDisplay(frame, "timein",
|
|
||||||
B_FOLLOW_LEFT|B_FOLLOW_TOP, B_WILL_DRAW,
|
|
||||||
"Time in: ", B_EMPTY_STRING);
|
|
||||||
f_preview->ResizeToPreferred();
|
|
||||||
|
|
||||||
AddChild(f_current);
|
|
||||||
AddChild(f_preview);
|
|
||||||
|
|
||||||
// set button
|
// set button
|
||||||
|
fSetZone = new BButton(frameRight, "set", "Set Timezone",
|
||||||
frame.Set(bounds.right -75, bounds.bottom -24,
|
new BMessage(H_SET_TIME_ZONE), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||||
bounds.right, bounds.bottom);
|
AddChild(fSetZone);
|
||||||
frame.OffsetBy(-2, -2);
|
fSetZone->SetEnabled(false);
|
||||||
f_setzone = new BButton(frame, "set", "Set", new BMessage(H_SET_TIME_ZONE));
|
fSetZone->ResizeToPreferred();
|
||||||
f_setzone->SetEnabled(false);
|
|
||||||
AddChild(f_setzone);
|
fSetZone->MoveTo(frameRight.right - fSetZone->Bounds().Width(),
|
||||||
|
scrollList->Frame().bottom - fSetZone->Bounds().Height());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TZoneView::BuildRegionMenu(float *widest)
|
TZoneView::BuildRegionMenu()
|
||||||
{
|
{
|
||||||
BPath path;
|
BPath path;
|
||||||
// return if /etc directory is not found
|
if (find_directory(B_BEOS_ETC_DIRECTORY, &path) != B_OK)
|
||||||
if (!(find_directory(B_BEOS_ETC_DIRECTORY, &path) == B_OK))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
path.Append("timezones");
|
path.Append("timezones");
|
||||||
|
|
||||||
// get current region
|
// get current region
|
||||||
BPath region;
|
BPath region;
|
||||||
f_currentzone.GetParent(®ion);
|
fCurrentZone.GetParent(®ion);
|
||||||
|
|
||||||
float width = 0;
|
|
||||||
bool markit;
|
bool markit;
|
||||||
BEntry entry;
|
BEntry entry;
|
||||||
BMenuItem *item;
|
BMenuItem *item;
|
||||||
@@ -303,42 +267,37 @@ TZoneView::BuildRegionMenu(float *widest)
|
|||||||
||itemtext.Compare("Indian", 6) == 0)
|
||itemtext.Compare("Indian", 6) == 0)
|
||||||
itemtext.Append(" Ocean");
|
itemtext.Append(" Ocean");
|
||||||
|
|
||||||
itemtext = itemtext.ReplaceAll('_', ' '); // underscores are spaces
|
// underscores are spaces
|
||||||
|
itemtext = itemtext.ReplaceAll('_', ' ');
|
||||||
|
|
||||||
width = be_plain_font->StringWidth(itemtext.String());
|
|
||||||
if (width > *widest)
|
|
||||||
*widest = width;
|
|
||||||
|
|
||||||
BMessage *msg = new BMessage(H_REGION_CHANGED);
|
BMessage *msg = new BMessage(H_REGION_CHANGED);
|
||||||
msg->AddString("region", path.Path());
|
msg->AddString("region", path.Path());
|
||||||
|
|
||||||
item = new BMenuItem(itemtext.String(), msg);
|
item = new BMenuItem(itemtext.String(), msg);
|
||||||
item->SetMarked(markit);
|
item->SetMarked(markit);
|
||||||
f_regionpopup->AddItem(item);
|
fRegionPopUp->AddItem(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int32
|
||||||
TZoneView::FillCityList(const char *area)
|
TZoneView::FillCityList(const char *area)
|
||||||
{
|
{
|
||||||
// clear list
|
// clear list
|
||||||
|
int32 count = fCityList->CountItems();
|
||||||
// MakeEmpty() doesn't free items so...
|
if (count > 0) {
|
||||||
int32 idx = f_citylist->CountItems();
|
for (int32 idx = count; idx >= 0; idx--)
|
||||||
if (idx>= 1)
|
delete fCityList->RemoveItem(idx);
|
||||||
for (; idx>= 0; idx--)
|
fCityList->MakeEmpty();
|
||||||
delete f_citylist->RemoveItem(idx);
|
}
|
||||||
|
|
||||||
//Enter time zones directory. Find subdir with name that matches string stored in area.
|
// Enter time zones directory. Find subdir with name that matches string
|
||||||
//Enter subdirectory and count the items. For each item, add a StringItem to f_CityList
|
// stored in area. Enter subdirectory and count the items. For each item,
|
||||||
//Time zones directory
|
// add a StringItem to fCityList Time zones directory
|
||||||
|
|
||||||
BPath path;
|
BPath path;
|
||||||
|
if (find_directory(B_BEOS_ETC_DIRECTORY, &path) != B_OK)
|
||||||
// return if /etc directory is not found
|
|
||||||
if (!(find_directory(B_BEOS_ETC_DIRECTORY, &path) == B_OK))
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
path.Append("timezones");
|
path.Append("timezones");
|
||||||
@@ -349,16 +308,14 @@ TZoneView::FillCityList(const char *area)
|
|||||||
BStringItem *city;
|
BStringItem *city;
|
||||||
BString city_name;
|
BString city_name;
|
||||||
BEntry entry;
|
BEntry entry;
|
||||||
int index = -1;
|
int32 index = -1;
|
||||||
//locate subdirectory:
|
|
||||||
|
//locate subdirectory:
|
||||||
if ( zoneDir.Contains(Area.Leaf(), B_DIRECTORY_NODE)) {
|
if (zoneDir.Contains(Area.Leaf(), B_DIRECTORY_NODE)) {
|
||||||
cityDir.SetTo(&zoneDir, Area.Leaf());
|
cityDir.SetTo(&zoneDir, Area.Leaf());
|
||||||
//There is a subdir with a name that matches 'area'. That's the one!!
|
|
||||||
|
// There is a subdir with a name that matches 'area'. That's the one!!
|
||||||
|
// Iterate over the items in the subdir, fill listview with TZoneItems
|
||||||
//iterate over the items in the subdir and fill the listview with TZoneItems:
|
|
||||||
|
|
||||||
while(cityDir.GetNextEntry(&entry) == B_NO_ERROR) {
|
while(cityDir.GetNextEntry(&entry) == B_NO_ERROR) {
|
||||||
if (!entry.IsDirectory()) {
|
if (!entry.IsDirectory()) {
|
||||||
BPath zone(&entry);
|
BPath zone(&entry);
|
||||||
@@ -368,9 +325,9 @@ TZoneView::FillCityList(const char *area)
|
|||||||
city_name.ReplaceAll("__", ", ");
|
city_name.ReplaceAll("__", ", ");
|
||||||
city_name.ReplaceAll("_", " ");
|
city_name.ReplaceAll("_", " ");
|
||||||
city = new TZoneItem(city_name.String(), zone.Path());
|
city = new TZoneItem(city_name.String(), zone.Path());
|
||||||
f_citylist->AddItem(city);
|
fCityList->AddItem(city);
|
||||||
if (strcmp(f_currentzone.Leaf(), zone.Leaf()) == 0)
|
if (strcmp(fCurrentZone.Leaf(), zone.Leaf()) == 0)
|
||||||
index = f_citylist->IndexOf(city);
|
index = fCityList->IndexOf(city);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -401,14 +358,13 @@ TZoneView::ReadTimeZoneLink()
|
|||||||
_kern_get_tzfilename(tzFileName, B_OS_PATH_LENGTH, &isGMT);
|
_kern_get_tzfilename(tzFileName, B_OS_PATH_LENGTH, &isGMT);
|
||||||
tzLink.SetTo(tzFileName);
|
tzLink.SetTo(tzFileName);
|
||||||
#else
|
#else
|
||||||
/* reads the timezone symlink from B_USER_SETTINGS_DIRECTORY
|
/* reads the timezone symlink from B_USER_SETTINGS_DIRECTORY currently
|
||||||
currently this sets f_currentzone to the symlink value.
|
this sets fCurrentZone to the symlink value, this is wrong. The
|
||||||
this is wrong. the original can get users timezone without
|
original can get users timezone without a timezone symlink present.
|
||||||
a timezone symlink present.
|
|
||||||
|
|
||||||
defaults are set to different values to clue in on what error was returned
|
Defaults are set to different values to clue in on what error was returned
|
||||||
GMT is set when the link is invalid
|
GMT is set when the link is invalid EST is set when the settings dir can't
|
||||||
EST is set when the settings dir can't be found **should never happen**
|
be found what should never happen.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -428,7 +384,7 @@ TZoneView::ReadTimeZoneLink()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// we need something in the current zone
|
// we need something in the current zone
|
||||||
f_currentzone.SetTo(&tzLink);
|
fCurrentZone.SetTo(&tzLink);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -436,9 +392,9 @@ void
|
|||||||
TZoneView::SetPreview()
|
TZoneView::SetPreview()
|
||||||
{
|
{
|
||||||
// calc and display time based on users selection in city list
|
// calc and display time based on users selection in city list
|
||||||
int32 selection = f_citylist->CurrentSelection();
|
int32 selection = fCityList->CurrentSelection();
|
||||||
if (selection>= 0) {
|
if (selection>= 0) {
|
||||||
TZoneItem *item = (TZoneItem *)f_citylist->ItemAt(selection);
|
TZoneItem *item = (TZoneItem *)fCityList->ItemAt(selection);
|
||||||
|
|
||||||
BString text;
|
BString text;
|
||||||
text = item->Text();
|
text = item->Text();
|
||||||
@@ -450,12 +406,12 @@ TZoneView::SetPreview()
|
|||||||
SetTimeZone(item->Path());
|
SetTimeZone(item->Path());
|
||||||
current = time(0);
|
current = time(0);
|
||||||
ltime = localtime(¤t);
|
ltime = localtime(¤t);
|
||||||
SetTimeZone(f_currentzone.Path());
|
SetTimeZone(fCurrentZone.Path());
|
||||||
|
|
||||||
f_preview->SetTo(ltime->tm_hour, ltime->tm_min);
|
fPreview->SetTo(ltime->tm_hour, ltime->tm_min);
|
||||||
f_preview->SetText(text.String());
|
fPreview->SetText(text.String());
|
||||||
|
|
||||||
f_setzone->SetEnabled((strcmp(f_current->Text(), text.String()) != 0));
|
fSetZone->SetEnabled((strcmp(fCurrent->Text(), text.String()) != 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -463,45 +419,39 @@ TZoneView::SetPreview()
|
|||||||
void
|
void
|
||||||
TZoneView::SetCurrent(const char *text)
|
TZoneView::SetCurrent(const char *text)
|
||||||
{
|
{
|
||||||
SetTimeZone(f_currentzone.Path());
|
SetTimeZone(fCurrentZone.Path());
|
||||||
time_t current = time(0);
|
time_t current = time(0);
|
||||||
struct tm *ltime = localtime(¤t);
|
struct tm *ltime = localtime(¤t);
|
||||||
|
|
||||||
f_current->SetTo(ltime->tm_hour, ltime->tm_min);
|
fCurrent->SetTo(ltime->tm_hour, ltime->tm_min);
|
||||||
f_current->SetText(text);
|
fCurrent->SetText(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TZoneView::SetTimeZone()
|
TZoneView::SetTimeZone()
|
||||||
{
|
{
|
||||||
/*
|
/* set time based on supplied timezone. How to do this?
|
||||||
set time based on supplied timezone. How to do this?
|
1) replace symlink "timezone" in B_USER_SETTINGS_DIR with a link to the new timezone
|
||||||
1) replace symlink, "timezone", in B_USER_SETTINGS_DIR with a link to the new timezone
|
2) set TZ environment var
|
||||||
2) set TZ environment var
|
3) call settz()
|
||||||
3) call settz()
|
4) call set_timezone from OS.h passing path to timezone file
|
||||||
4) call set_timezone from OS.h passing path to timezone file
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
// update/create timezone symlink in B_USER_SETTINGS_DIRECTORY
|
|
||||||
|
|
||||||
// get path to current link
|
// get path to current link
|
||||||
|
// update/create timezone symlink in B_USER_SETTINGS_DIRECTORY
|
||||||
BPath path;
|
BPath path;
|
||||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
|
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
path.Append("timezone");
|
path.Append("timezone");
|
||||||
|
|
||||||
|
|
||||||
// build target for new link
|
// build target for new link
|
||||||
|
int32 selection = fCityList->CurrentSelection();
|
||||||
int32 selection = f_citylist->CurrentSelection();
|
|
||||||
if (selection < 0)
|
if (selection < 0)
|
||||||
// nothing selected??
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BPath target( ((TZoneItem *)f_citylist->ItemAt(selection))->Path());
|
BPath target(((TZoneItem *)fCityList->ItemAt(selection))->Path());
|
||||||
|
|
||||||
// remove old
|
// remove old
|
||||||
BEntry entry(path.Path());
|
BEntry entry(path.Path());
|
||||||
@@ -514,49 +464,34 @@ TZoneView::SetTimeZone()
|
|||||||
fprintf(stderr, "timezone not linked\n");
|
fprintf(stderr, "timezone not linked\n");
|
||||||
|
|
||||||
// update environment
|
// update environment
|
||||||
|
SetTimeZone(target.Path());
|
||||||
char tz[B_PATH_NAME_LENGTH];
|
|
||||||
sprintf(tz, "TZ=%s", target.Path());
|
|
||||||
|
|
||||||
putenv( tz);
|
|
||||||
tzset();
|
|
||||||
|
|
||||||
// update display
|
// update display
|
||||||
time_t current = time(0);
|
time_t current = time(0);
|
||||||
struct tm *ltime = localtime(¤t);
|
struct tm *ltime = localtime(¤t);
|
||||||
|
|
||||||
|
|
||||||
char tza[B_PATH_NAME_LENGTH];
|
char tza[B_PATH_NAME_LENGTH];
|
||||||
sprintf(tza, "%s", target.Path());
|
sprintf(tza, "%s", target.Path());
|
||||||
set_timezone(tza);
|
set_timezone(tza);
|
||||||
|
|
||||||
// disable button
|
// disable button
|
||||||
f_setzone -> SetEnabled(false);
|
fSetZone->SetEnabled(false);
|
||||||
|
|
||||||
time_t newtime = mktime(ltime);
|
time_t newtime = mktime(ltime);
|
||||||
ltime = localtime(&newtime);
|
ltime = localtime(&newtime);
|
||||||
stime(&newtime);
|
stime(&newtime);
|
||||||
|
|
||||||
f_hour = ltime->tm_hour;
|
fHour = ltime->tm_hour;
|
||||||
f_minute = ltime->tm_min;
|
fMinute = ltime->tm_min;
|
||||||
f_currentzone.SetTo(target.Path());
|
fCurrentZone.SetTo(target.Path());
|
||||||
SetCurrent(((TZoneItem *)f_citylist->ItemAt(selection))->Text());
|
SetCurrent(((TZoneItem *)fCityList->ItemAt(selection))->Text());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TZoneView::SetTimeZone(const char *zone)
|
TZoneView::SetTimeZone(const char *zone)
|
||||||
{
|
{
|
||||||
BString tz;
|
putenv(BString("TZ=").Append(zone).String());
|
||||||
|
|
||||||
tz << "TZ=" << zone;
|
|
||||||
|
|
||||||
putenv(tz.String());
|
|
||||||
tzset();
|
tzset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//---//
|
|
||||||
|
|||||||
@@ -6,72 +6,57 @@
|
|||||||
* Mike Berg (inseculous)
|
* Mike Berg (inseculous)
|
||||||
* Julun <host.haiku@gmx.de>
|
* Julun <host.haiku@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ZONE_VIEW_H
|
#ifndef ZONE_VIEW_H
|
||||||
#define ZONE_VIEW_H
|
#define ZONE_VIEW_H
|
||||||
|
|
||||||
|
|
||||||
#include <ListItem.h>
|
|
||||||
#include <ListView.h>
|
|
||||||
#include <Path.h>
|
|
||||||
#include <PopUpMenu.h>
|
|
||||||
#include <View.h>
|
#include <View.h>
|
||||||
|
#include <Path.h>
|
||||||
|
|
||||||
#include "TZDisplay.h"
|
|
||||||
|
|
||||||
class TZoneItem: public BStringItem {
|
class BMessage;
|
||||||
|
class BPopUpMenu;
|
||||||
|
class BListView;
|
||||||
|
class BButton;
|
||||||
|
class TTZDisplay;
|
||||||
|
|
||||||
|
|
||||||
|
class TZoneView : public BView {
|
||||||
public:
|
public:
|
||||||
TZoneItem(const char *text, const char *zone);
|
TZoneView(BRect frame);
|
||||||
virtual ~TZoneItem();
|
virtual ~TZoneView();
|
||||||
|
|
||||||
const char *Zone() const;
|
virtual void AttachedToWindow();
|
||||||
const char *Path() const;
|
virtual void MessageReceived(BMessage *message);
|
||||||
|
|
||||||
private:
|
|
||||||
BPath *fZone;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TZoneView: public BView {
|
|
||||||
public:
|
|
||||||
TZoneView(BRect frame);
|
|
||||||
virtual ~TZoneView();
|
|
||||||
|
|
||||||
virtual void AttachedToWindow();
|
|
||||||
virtual void AllAttached();
|
|
||||||
virtual void MessageReceived(BMessage *message);
|
|
||||||
|
|
||||||
const char* TimeZone();
|
const char* TimeZone();
|
||||||
|
|
||||||
protected:
|
|
||||||
void UpdateDateTime(BMessage *message);
|
|
||||||
void ChangeRegion(BMessage *);
|
|
||||||
void SetTimeZone();
|
|
||||||
void SetTimeZone(const char *zone);
|
|
||||||
void SetPreview();
|
|
||||||
void SetCurrent(const char *text);
|
|
||||||
private:
|
private:
|
||||||
virtual void InitView();
|
void UpdateDateTime(BMessage *message);
|
||||||
void ReadTimeZoneLink();
|
void ChangeRegion(BMessage *);
|
||||||
|
void SetTimeZone();
|
||||||
// set widest to font width of longest item
|
void SetTimeZone(const char *zone);
|
||||||
void BuildRegionMenu(float *widest);
|
void SetPreview();
|
||||||
|
void SetCurrent(const char *text);
|
||||||
|
void InitView();
|
||||||
|
void ReadTimeZoneLink();
|
||||||
|
void BuildRegionMenu();
|
||||||
|
|
||||||
// returns index of current zone
|
// returns index of current zone
|
||||||
int FillCityList(const char *area);
|
int32 FillCityList(const char *area);
|
||||||
|
|
||||||
BPopUpMenu *f_regionpopup;
|
private:
|
||||||
BListView *f_citylist;
|
BPopUpMenu *fRegionPopUp;
|
||||||
BButton *f_setzone;
|
BListView *fCityList;
|
||||||
TTZDisplay *f_current;
|
BButton *fSetZone;
|
||||||
TTZDisplay *f_preview;
|
TTZDisplay *fCurrent;
|
||||||
|
TTZDisplay *fPreview;
|
||||||
|
|
||||||
BPath f_currentzone;
|
int32 fHour;
|
||||||
int32 f_hour;
|
int32 fMinute;
|
||||||
int32 f_minute;
|
BPath fCurrentZone;
|
||||||
int32 f_diff;
|
bool fNotInitialized;
|
||||||
bool f_first;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //Zone_View_H
|
#endif //Zone_View_H
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user