Tiny enhancements and cleanups
This commit is contained in:
		
							
								
								
									
										17
									
								
								src/sdtui.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								src/sdtui.c
									
									
									
									
									
								
							@@ -1107,8 +1107,7 @@ static ViewEntry *
 | 
				
			|||||||
append_entry (Application *self, guint32 position)
 | 
					append_entry (Application *self, guint32 position)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	ViewEntry *ve = NULL;
 | 
						ViewEntry *ve = NULL;
 | 
				
			||||||
	StardictIterator *iterator = stardict_iterator_new
 | 
						StardictIterator *iterator = stardict_iterator_new (self->dict, position);
 | 
				
			||||||
		(self->dict, position);
 | 
					 | 
				
			||||||
	if (stardict_iterator_is_valid (iterator))
 | 
						if (stardict_iterator_is_valid (iterator))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ve = view_entry_new (iterator);
 | 
							ve = view_entry_new (iterator);
 | 
				
			||||||
@@ -1184,10 +1183,9 @@ app_scroll_down (Application *self, guint n)
 | 
				
			|||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// TODO: try to disallow scrolling past the end
 | 
				
			||||||
		ViewEntry *first_entry = g_ptr_array_index (self->entries, 0);
 | 
							ViewEntry *first_entry = g_ptr_array_index (self->entries, 0);
 | 
				
			||||||
		if (self->top_offset < first_entry->definitions_length - 1)
 | 
							if (++self->top_offset >= first_entry->definitions_length)
 | 
				
			||||||
			self->top_offset++;
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			n_definitions -= first_entry->definitions_length;
 | 
								n_definitions -= first_entry->definitions_length;
 | 
				
			||||||
			g_ptr_array_remove_index (self->entries, 0);
 | 
								g_ptr_array_remove_index (self->entries, 0);
 | 
				
			||||||
@@ -1260,7 +1258,8 @@ app_one_entry_down (Application *self)
 | 
				
			|||||||
			break;
 | 
								break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (first > LINES - TOP_BAR_CUTOFF - 1)
 | 
						// FIXME: selection can still get past the end
 | 
				
			||||||
 | 
						if (first >= LINES - TOP_BAR_CUTOFF)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		self->selected = LINES - TOP_BAR_CUTOFF - 1;
 | 
							self->selected = LINES - TOP_BAR_CUTOFF - 1;
 | 
				
			||||||
		app_scroll_down (self, first - (LINES - TOP_BAR_CUTOFF - 1));
 | 
							app_scroll_down (self, first - (LINES - TOP_BAR_CUTOFF - 1));
 | 
				
			||||||
@@ -1299,6 +1298,10 @@ app_search_for_entry (Application *self)
 | 
				
			|||||||
	self->show_help = FALSE;
 | 
						self->show_help = FALSE;
 | 
				
			||||||
	app_reload_view (self);
 | 
						app_reload_view (self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Don't let the iterator get past the end of the dictionary
 | 
				
			||||||
 | 
						if (!self->entries->len)
 | 
				
			||||||
 | 
							(void) app_scroll_up (self, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// If the user wants it centered, just move the view up half a screen;
 | 
						// If the user wants it centered, just move the view up half a screen;
 | 
				
			||||||
	// actually, one third seems to be a better guess
 | 
						// actually, one third seems to be a better guess
 | 
				
			||||||
	if (self->center_search)
 | 
						if (self->center_search)
 | 
				
			||||||
@@ -1451,13 +1454,11 @@ app_process_user_action (Application *self, UserAction action)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	case USER_ACTION_GOTO_PAGE_PREVIOUS:
 | 
						case USER_ACTION_GOTO_PAGE_PREVIOUS:
 | 
				
			||||||
		app_scroll_up (self, LINES - TOP_BAR_CUTOFF);
 | 
							app_scroll_up (self, LINES - TOP_BAR_CUTOFF);
 | 
				
			||||||
		// FIXME: selection
 | 
					 | 
				
			||||||
		app_redraw_view (self);
 | 
							app_redraw_view (self);
 | 
				
			||||||
		RESTORE_CURSOR
 | 
							RESTORE_CURSOR
 | 
				
			||||||
		return TRUE;
 | 
							return TRUE;
 | 
				
			||||||
	case USER_ACTION_GOTO_PAGE_NEXT:
 | 
						case USER_ACTION_GOTO_PAGE_NEXT:
 | 
				
			||||||
		app_scroll_down (self, LINES - TOP_BAR_CUTOFF);
 | 
							app_scroll_down (self, LINES - TOP_BAR_CUTOFF);
 | 
				
			||||||
		// FIXME: selection
 | 
					 | 
				
			||||||
		app_redraw_view (self);
 | 
							app_redraw_view (self);
 | 
				
			||||||
		RESTORE_CURSOR
 | 
							RESTORE_CURSOR
 | 
				
			||||||
		return TRUE;
 | 
							return TRUE;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user