Better feedback for sole completions
Signed-off-by: Federico Mena Quintero <federico@gnu.org> svn path=/trunk/; revision=19858
This commit is contained in:
committed by
Federico Mena Quintero
parent
1e60639143
commit
cec81cbfdf
@ -616,6 +616,7 @@ typedef enum {
|
|||||||
INVALID_INPUT, /* what the user typed is bogus */
|
INVALID_INPUT, /* what the user typed is bogus */
|
||||||
NO_MATCH, /* no matches based on what the user typed */
|
NO_MATCH, /* no matches based on what the user typed */
|
||||||
NOTHING_INSERTED_COMPLETE, /* what the user typed is already completed as far as it will go */
|
NOTHING_INSERTED_COMPLETE, /* what the user typed is already completed as far as it will go */
|
||||||
|
NOTHING_INSERTED_UNIQUE, /* what the user typed is already completed, and is a unique match */
|
||||||
COMPLETED, /* completion inserted (ambiguous suffix) */
|
COMPLETED, /* completion inserted (ambiguous suffix) */
|
||||||
COMPLETED_UNIQUE, /* completion inserted, and it is a complete name and a unique match */
|
COMPLETED_UNIQUE, /* completion inserted, and it is a complete name and a unique match */
|
||||||
COMPLETE_BUT_NOT_UNIQUE /* completion inserted, it is a complete name but not unique */
|
COMPLETE_BUT_NOT_UNIQUE /* completion inserted, it is a complete name but not unique */
|
||||||
@ -666,7 +667,12 @@ append_common_prefix (GtkFileChooserEntry *chooser_entry,
|
|||||||
gtk_file_path_free (unique_path);
|
gtk_file_path_free (unique_path);
|
||||||
|
|
||||||
if (common_prefix)
|
if (common_prefix)
|
||||||
|
{
|
||||||
|
if (prefix_expands_the_file_part)
|
||||||
result = COMPLETED_UNIQUE;
|
result = COMPLETED_UNIQUE;
|
||||||
|
else
|
||||||
|
result = NOTHING_INSERTED_UNIQUE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
result = INVALID_INPUT;
|
result = INVALID_INPUT;
|
||||||
|
|
||||||
@ -712,7 +718,7 @@ append_common_prefix (GtkFileChooserEntry *chooser_entry,
|
|||||||
else
|
else
|
||||||
gtk_editable_set_position (GTK_EDITABLE (chooser_entry), pos);
|
gtk_editable_set_position (GTK_EDITABLE (chooser_entry), pos);
|
||||||
}
|
}
|
||||||
else
|
else if (!have_result)
|
||||||
{
|
{
|
||||||
result = NOTHING_INSERTED_COMPLETE;
|
result = NOTHING_INSERTED_COMPLETE;
|
||||||
have_result = TRUE;
|
have_result = TRUE;
|
||||||
@ -1010,13 +1016,16 @@ explicitly_complete (GtkFileChooserEntry *chooser_entry)
|
|||||||
/* FIXME: pop up the suggestion window or scroll it */
|
/* FIXME: pop up the suggestion window or scroll it */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case NOTHING_INSERTED_UNIQUE:
|
||||||
|
pop_up_completion_feedback (chooser_entry, _("Sole completion"));
|
||||||
|
break;
|
||||||
|
|
||||||
case COMPLETED:
|
case COMPLETED:
|
||||||
/* Nothing to do */
|
/* Nothing to do */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COMPLETED_UNIQUE:
|
case COMPLETED_UNIQUE:
|
||||||
pop_up_completion_feedback (chooser_entry, _("Sole completion"));
|
/* Nothing to do */
|
||||||
/* FIXME: if the user keeps hitting Tab after completing a unique match, present feedback with "Sole completion") */
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COMPLETE_BUT_NOT_UNIQUE:
|
case COMPLETE_BUT_NOT_UNIQUE:
|
||||||
|
|||||||
Reference in New Issue
Block a user