fix refreshing
This commit is contained in:
parent
a0fde4312e
commit
a52d615006
@ -221,7 +221,7 @@ label_set_property (void *vself, const char *name, const char *value)
|
|||||||
grub_get_datetime(&datetime);
|
grub_get_datetime(&datetime);
|
||||||
//grub_gfxmenu_
|
//grub_gfxmenu_
|
||||||
char* valtmp = grub_strdup (value);
|
char* valtmp = grub_strdup (value);
|
||||||
grub_snprintf(valtmp, 100, "%d-%02d-%02d %02d:%02d:%02d %s\n",
|
grub_snprintf(valtmp, 100, "%d-%02d-%02d %02d:%02d:%02d %s",
|
||||||
datetime.year, datetime.month, datetime.day,
|
datetime.year, datetime.month, datetime.day,
|
||||||
datetime.hour, datetime.minute, datetime.second,
|
datetime.hour, datetime.minute, datetime.second,
|
||||||
grub_get_weekday_name(&datetime));
|
grub_get_weekday_name(&datetime));
|
||||||
|
|||||||
@ -275,21 +275,28 @@ static void redraw_time(grub_gfxmenu_view_t view)
|
|||||||
struct grub_datetime datetime;
|
struct grub_datetime datetime;
|
||||||
grub_get_datetime(&datetime);
|
grub_get_datetime(&datetime);
|
||||||
char* valtmp = grub_strdup (self->text);
|
char* valtmp = grub_strdup (self->text);
|
||||||
grub_snprintf(valtmp, 100, "%d-%02d-%02d %02d:%02d:%02d %s\n",
|
grub_snprintf(valtmp, 100, "%d-%02d-%02d %02d:%02d:%02d %s",
|
||||||
datetime.year, datetime.month, datetime.day,
|
datetime.year, datetime.month, datetime.day,
|
||||||
datetime.hour, datetime.minute, datetime.second,
|
datetime.hour, datetime.minute, datetime.second,
|
||||||
grub_get_weekday_name(&datetime));
|
grub_get_weekday_name(&datetime));
|
||||||
grub_video_rect_t before_bounds;
|
grub_video_rect_t before_bounds;
|
||||||
cur->self->ops->get_bounds (cur->self, &before_bounds);
|
cur->self->ops->get_bounds (cur->self, &before_bounds);
|
||||||
grub_gfxmenu_view_redraw(view, &before_bounds);
|
before_bounds.width += 100;
|
||||||
|
|
||||||
grub_free(self->text);
|
|
||||||
|
/* grub_free(self->text);
|
||||||
self->text = (char*)" ";
|
self->text = (char*)" ";
|
||||||
grub_gfxmenu_view_redraw(view, &before_bounds);
|
grub_gfxmenu_view_redraw(view, &before_bounds); */
|
||||||
|
|
||||||
self->text = valtmp;
|
|
||||||
|
|
||||||
|
self->text = valtmp;
|
||||||
|
grub_video_set_area_status (GRUB_VIDEO_AREA_DISABLED);
|
||||||
grub_gfxmenu_view_redraw(view, &before_bounds);
|
grub_gfxmenu_view_redraw(view, &before_bounds);
|
||||||
|
grub_video_swap_buffers();
|
||||||
|
if(view->double_repaint) {
|
||||||
|
grub_video_set_area_status (GRUB_VIDEO_AREA_DISABLED);
|
||||||
|
grub_gfxmenu_view_redraw(view, &before_bounds);
|
||||||
|
}
|
||||||
|
// grub_video_set_area_status (GRUB_VIDEO_AREA_ENABLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -688,10 +688,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
|
||||||
int c;
|
int c;
|
||||||
if(has_second_elapsed (&time_saved_time)) {
|
|
||||||
menu_print_time();
|
|
||||||
}
|
|
||||||
timeout = grub_menu_get_timeout ();
|
timeout = grub_menu_get_timeout ();
|
||||||
|
|
||||||
if (grub_normal_exit_level)
|
if (grub_normal_exit_level)
|
||||||
@ -702,7 +699,10 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
timeout--;
|
timeout--;
|
||||||
grub_menu_set_timeout (timeout);
|
grub_menu_set_timeout (timeout);
|
||||||
menu_print_timeout (timeout);
|
menu_print_timeout (timeout);
|
||||||
}
|
menu_print_time();
|
||||||
|
} else if(has_second_elapsed (&time_saved_time)) {
|
||||||
|
menu_print_time();
|
||||||
|
}
|
||||||
|
|
||||||
if (timeout == 0)
|
if (timeout == 0)
|
||||||
{
|
{
|
||||||
@ -730,12 +730,14 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
case GRUB_TERM_CTRL | 'a':
|
case GRUB_TERM_CTRL | 'a':
|
||||||
current_entry = 0;
|
current_entry = 0;
|
||||||
menu_set_chosen_entry (current_entry);
|
menu_set_chosen_entry (current_entry);
|
||||||
|
continue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRUB_TERM_KEY_END:
|
case GRUB_TERM_KEY_END:
|
||||||
case GRUB_TERM_CTRL | 'e':
|
case GRUB_TERM_CTRL | 'e':
|
||||||
current_entry = menu->size - 1;
|
current_entry = menu->size - 1;
|
||||||
menu_set_chosen_entry (current_entry);
|
menu_set_chosen_entry (current_entry);
|
||||||
|
continue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRUB_TERM_KEY_UP:
|
case GRUB_TERM_KEY_UP:
|
||||||
@ -744,6 +746,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
if (current_entry > 0)
|
if (current_entry > 0)
|
||||||
current_entry--;
|
current_entry--;
|
||||||
menu_set_chosen_entry (current_entry);
|
menu_set_chosen_entry (current_entry);
|
||||||
|
continue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRUB_TERM_CTRL | 'n':
|
case GRUB_TERM_CTRL | 'n':
|
||||||
@ -752,6 +755,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
if (current_entry < menu->size - 1)
|
if (current_entry < menu->size - 1)
|
||||||
current_entry++;
|
current_entry++;
|
||||||
menu_set_chosen_entry (current_entry);
|
menu_set_chosen_entry (current_entry);
|
||||||
|
continue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRUB_TERM_CTRL | 'g':
|
case GRUB_TERM_CTRL | 'g':
|
||||||
@ -761,6 +765,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
else
|
else
|
||||||
current_entry -= GRUB_MENU_PAGE_SIZE;
|
current_entry -= GRUB_MENU_PAGE_SIZE;
|
||||||
menu_set_chosen_entry (current_entry);
|
menu_set_chosen_entry (current_entry);
|
||||||
|
continue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRUB_TERM_CTRL | 'c':
|
case GRUB_TERM_CTRL | 'c':
|
||||||
@ -768,6 +773,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
if (grub_add (current_entry, GRUB_MENU_PAGE_SIZE, ¤t_entry) || current_entry >= menu->size)
|
if (grub_add (current_entry, GRUB_MENU_PAGE_SIZE, ¤t_entry) || current_entry >= menu->size)
|
||||||
current_entry = menu->size - 1;
|
current_entry = menu->size - 1;
|
||||||
menu_set_chosen_entry (current_entry);
|
menu_set_chosen_entry (current_entry);
|
||||||
|
continue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '\n':
|
case '\n':
|
||||||
@ -815,6 +821,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot)
|
|||||||
*auto_boot = 0;
|
*auto_boot = 0;
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user