Skip to content

Commit

Permalink
[UI] Time of the day displayed in the right side of menu
Browse files Browse the repository at this point in the history
  • Loading branch information
cyring authored and CyrIng committed Nov 24, 2022
1 parent bb9db4d commit 0887b54
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 45 deletions.
4 changes: 3 additions & 1 deletion corefreq-cli-rsc-en.h
Original file line number Diff line number Diff line change
Expand Up @@ -1533,7 +1533,9 @@
#define RSC_MENU_ITEM_MENU_CODE_EN " [F2] Menu "
#define RSC_MENU_ITEM_VIEW_CODE_EN " [F3] View "
#define RSC_MENU_ITEM_WINDOW_CODE_EN " [F4] Window "
#define RSC_MENU_ITEM_DATE_TIME_CODE_EN "[F2] %x %k:%M:%S"
#define RSC_MENU_ITEM_DATE_TIME_CODE_EN "%x %k:%M:%S"
#define RSC_MENU_ITEM_FULL_TIME_CODE_EN "%k:%M:%S"
#define RSC_MENU_ITEM_TINY_TIME_CODE_EN "%k:%M"
#define RSC_MENU_ITEM_SETTINGS_CODE_EN " Settings [s] "
#define RSC_MENU_ITEM_SMBIOS_CODE_EN " SMBIOS data [B] "
#define RSC_MENU_ITEM_KERNEL_CODE_EN " Kernel data [k] "
Expand Down
2 changes: 2 additions & 0 deletions corefreq-cli-rsc-fr.h
Original file line number Diff line number Diff line change
Expand Up @@ -912,6 +912,8 @@ do echo -en "$h$l\t""\xc3""\x$h$l""\t"; done; done;echo
#define RSC_MENU_ITEM_VIEW_CODE_FR " [F3] Vue "
#define RSC_MENU_ITEM_WINDOW_CODE_FR " [F4] Fen""\xaa""tre "
#define RSC_MENU_ITEM_DATE_TIME_CODE_FR RSC_MENU_ITEM_DATE_TIME_CODE_EN
#define RSC_MENU_ITEM_FULL_TIME_CODE_FR RSC_MENU_ITEM_FULL_TIME_CODE_EN
#define RSC_MENU_ITEM_TINY_TIME_CODE_FR RSC_MENU_ITEM_TINY_TIME_CODE_EN
#define RSC_MENU_ITEM_SETTINGS_CODE_FR " R""\xa9""glages [s] "
#define RSC_MENU_ITEM_SMBIOS_CODE_FR " Infos SMBIOS [B] "
#define RSC_MENU_ITEM_KERNEL_CODE_FR " Infos Noyau [k] "
Expand Down
6 changes: 0 additions & 6 deletions corefreq-cli-rsc-theme-dflt.h
Original file line number Diff line number Diff line change
Expand Up @@ -1739,12 +1739,6 @@
LKW,LKW,LKW,LKW,LKW, LKW, LKW,LKW,LKW,LKW,LKW,LKW \
}

#define RSC_MENU_ITEM_DATE_TIME_THM_DFLT_ATTR \
{ \
HKW,_LKW,_LKW,HKW,LKW,LKW,LKW,LKW,LKW,LKW,LKW,LKW, \
LKW, LKW, LKW,LKW,LKW,LKW,LKW,LKW,LKW,LKW,LKW,LKW \
}

#define RSC_CREATE_MENU_FN_KEY_THM_DFLT_ATTR \
{ \
LKW,LKW,LKW,LKW,LKW,LKW,LKW,LKW, LKW,LKW,LKW,LKW, \
Expand Down
6 changes: 0 additions & 6 deletions corefreq-cli-rsc-theme-usr1.h
Original file line number Diff line number Diff line change
Expand Up @@ -1739,12 +1739,6 @@
LKM,LKM,LKM,LKM,LKM, LKM, LKM,LKM,LKM,LKM,LKM,LKM \
}

#define RSC_MENU_ITEM_DATE_TIME_THM_USR1_ATTR \
{ \
HKM,_LKM,_LKM,HKM,LKM,LKM,LKM,LKM,LKM,LKM,LKM,LKM, \
LKM, LKM, LKM,LKM,LKM,LKM,LKM,LKM,LKM,LKM,LKM,LKM \
}

#define RSC_CREATE_MENU_FN_KEY_THM_USR1_ATTR \
{ \
LKM,LKM,LKM,LKM,LKM,LKM,LKM,LKM, LKM,LKM,LKM,LKM, \
Expand Down
6 changes: 0 additions & 6 deletions corefreq-cli-rsc-theme-usr2.h
Original file line number Diff line number Diff line change
Expand Up @@ -1739,12 +1739,6 @@
LWK,LWK,LWK,LWK,LWK, LWK, LWK,LWK,LWK,LWK,LWK,LWK \
}

#define RSC_MENU_ITEM_DATE_TIME_THM_USR2_ATTR \
{ \
HKW,_LWK,_LWK,HKW,LWK,LWK,LWK,LWK,LWK,LWK,LWK,LWK, \
LWK, LWK, LWK,LWK,LWK,LWK,LWK,LWK,LWK,LWK,LWK,LWK \
}

#define RSC_CREATE_MENU_FN_KEY_THM_USR2_ATTR \
{ \
LWK,LWK,LWK,LWK,LWK,LWK,LWK,LWK, LWK,LWK,LWK,LWK, \
Expand Down
5 changes: 3 additions & 2 deletions corefreq-cli-rsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,6 @@ DEF_LDB(RSC_CREATE_MENU_DISABLE);
DEF_LDB(RSC_MENU_ITEM_MENU);
DEF_LDB(RSC_MENU_ITEM_VIEW);
DEF_LDB(RSC_MENU_ITEM_WINDOW);
DEF_LDB(RSC_MENU_ITEM_DATE_TIME);
DEF_LDB(RSC_CREATE_MENU_FN_KEY);
DEF_LDB(RSC_CREATE_MENU_SHORTKEY);
DEF_LDB(RSC_CREATE_MENU_CTRL_KEY);
Expand Down Expand Up @@ -1448,7 +1447,9 @@ RESOURCE_ST Resource[] = {
LDS(RSC_MENU_ITEM_MENU),
LDS(RSC_MENU_ITEM_VIEW),
LDS(RSC_MENU_ITEM_WINDOW),
LDS(RSC_MENU_ITEM_DATE_TIME),
LDT(RSC_MENU_ITEM_DATE_TIME),
LDT(RSC_MENU_ITEM_FULL_TIME),
LDT(RSC_MENU_ITEM_TINY_TIME),
LDT(RSC_MENU_ITEM_SETTINGS),
LDT(RSC_MENU_ITEM_SMBIOS),
LDT(RSC_MENU_ITEM_KERNEL),
Expand Down
2 changes: 2 additions & 0 deletions corefreq-cli-rsc.h
Original file line number Diff line number Diff line change
Expand Up @@ -1251,6 +1251,8 @@ enum {
RSC_MENU_ITEM_VIEW,
RSC_MENU_ITEM_WINDOW,
RSC_MENU_ITEM_DATE_TIME,
RSC_MENU_ITEM_FULL_TIME,
RSC_MENU_ITEM_TINY_TIME,
RSC_MENU_ITEM_SETTINGS,
RSC_MENU_ITEM_SMBIOS,
RSC_MENU_ITEM_KERNEL,
Expand Down
68 changes: 44 additions & 24 deletions corefreq-cli.c
Original file line number Diff line number Diff line change
Expand Up @@ -7411,76 +7411,86 @@ int ByteReDim(unsigned long ival, int constraint, unsigned long *oval)
void ForEachCellPrint_Menu(Window *win, void *plist)
{
WinList *list = (WinList *) plist;
TGrid *spacer;
CUINT col, row;
int len;

if (win->lazyComp.rowLen == 0) {
for (col = 0; col < win->matrix.size.wth; col++) {
win->lazyComp.rowLen += TCellAt(win, col, 0).length;
}
}
if (win->matrix.origin.col > 0) {
LayerFillAt( win->layer,
0,
win->matrix.origin.row,
win->matrix.origin.col, hSpace,
win->hook.color[0].title);
}
for (col = 0; col < win->matrix.size.wth; col++) {
PrintContent(win, list, col, 0);
}
for (row = 1; row < win->matrix.size.hth; row++) {
for (row = 1; row < win->matrix.size.hth - 1; row++) {
if (TCellAt(win,
(win->matrix.scroll.horz + win->matrix.select.col),
(win->matrix.scroll.vert + row)).quick.key != SCANKEY_VOID) {
PrintContent(win, list, win->matrix.select.col, row);
}
}
len = Draw.Size.width
- (int) win->lazyComp.rowLen
- (int) win->matrix.origin.col;
if (len > 0)
if ((spacer = &win->grid[col * row]) != NULL)
{
const int len = Draw.Size.width
- (int) win->lazyComp.rowLen
- (int) win->matrix.origin.col;

LayerFillAt( win->layer,
0, win->matrix.origin.row,
spacer->cell.length, spacer->cell.item,
win->hook.color[0].title );
spacer++;
spacer++;

if (len > 0) {
LayerFillAt( win->layer,
(win->matrix.origin.col + win->lazyComp.rowLen),
win->matrix.origin.row,
len, hSpace,
len, spacer->cell.item,
win->hook.color[0].title);
}
}
}

void TOD_Refresh(TGrid *grid, DATA_TYPE data[])
{
size_t timeLength;
char timeString[RSZ(MENU_ITEM_MENU) + 1];
char timeString[RSZ(MENU_ITEM_MENU) + 1], *timeFormat;
struct tm *brokTime, localTime;
int pos = Draw.Size.width > MIN_WIDTH ? Draw.Size.width - MIN_WIDTH : 0;

time_t currTime = time(NULL);
brokTime = localtime_r(&currTime, &localTime);

if (pos > 18) {
timeFormat = (char*) RSC(MENU_ITEM_DATE_TIME).CODE();
} else if (pos > 8) {
timeFormat = (char*) RSC(MENU_ITEM_FULL_TIME).CODE();
} else {
timeFormat = (char*) RSC(MENU_ITEM_TINY_TIME).CODE();
}
timeLength = strftime( timeString, RSZ(MENU_ITEM_MENU) + 1,
(char*) RSC(MENU_ITEM_DATE_TIME).CODE(), brokTime );
timeFormat, brokTime );

if ((timeLength > 0) && (timeLength <= RSZ(MENU_ITEM_MENU))) {
memcpy(grid->cell.item, timeString, timeLength);
memcpy(grid->cell.attr, RSC(MENU_ITEM_DATE_TIME).ATTR(), timeLength);
}
if ((timeLength > 0) && (timeLength <= RSZ(MENU_ITEM_MENU))) {
pos = pos - (int) timeLength + 5;
memcpy(grid->cell.item, hSpace, grid->cell.length);
memcpy(&grid->cell.item[pos], timeString, timeLength);
}
}

Window *CreateMenu(unsigned long long id, CUINT matrixSelectCol)
{
Window *wMenu = CreateWindow( wLayer, id,
3, 14, 3, 0,
3, 15, 3, 0,
WINFLAG_NO_STOCK
| WINFLAG_NO_SCALE
| WINFLAG_NO_BORDER );
if (wMenu != NULL)
{
/* Top Menu */
GridCall(
StoreTCell(wMenu, SCANKEY_NULL, RSC(MENU_ITEM_MENU).CODE(),
RSC(MENU_ITEM_MENU).ATTR()),
TOD_Refresh);
RSC(MENU_ITEM_MENU).ATTR());

StoreTCell(wMenu, SCANKEY_NULL, RSC(MENU_ITEM_VIEW).CODE(),
RSC(MENU_ITEM_VIEW).ATTR());
Expand Down Expand Up @@ -7659,6 +7669,16 @@ Window *CreateMenu(unsigned long long id, CUINT matrixSelectCol)
#endif

StoreTCell(wMenu, SCANKEY_VOID, "", RSC(VOID).ATTR());
/* Menu Spacers */
StoreTCell(wMenu, SCANKEY_VOID, "\x020\x020\x020",
RSC(UI).ATTR()[UI_WIN_MENU_TITLE_UNFOCUS]);

StoreTCell(wMenu, SCANKEY_VOID, "", RSC(VOID).ATTR());

GridCall(
StoreTCell(wMenu, SCANKEY_VOID, hSpace,
RSC(UI).ATTR()[UI_WIN_MENU_TITLE_UNFOCUS]),
TOD_Refresh);
/* Bottom Menu */
StoreWindow(wMenu, .color[0].select,
RSC(UI).ATTR()[UI_WIN_MENU_UNSELECT]);
Expand Down

0 comments on commit 0887b54

Please sign in to comment.