Acabei de revisar o código-fonte do NPP e tenho alguns detalhes adicionais se você quiser procurar uma solução para si mesmo. Quando você vai Arquivo - > Aberto, a lista de extensões de arquivo é carregada do arquivo Scintilla (SciLexer.dll).
Agora, quando você for Arquivo - > Aberto, a função void Notepad_plus::fileOpen()
é chamada (no arquivo NppIO.cpp
). Inicialmente, o filtro All Types, *.*
é adicionado à lista de filtros e, em seguida, a função int Notepad_plus::setFileOpenSaveDlgFilters(FileDialog & fDlg, int langType)
é chamada (no mesmo arquivo). Essa função percorre as entradas da Scintilla que mencionei acima e as adiciona à lista de filtros FileDialog
passada. O código em FileOpen
é assim:
fDlg.setExtFilter(TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);
Você pode alterar o índice de filtros padrão. Para fazer isso, você pode alterar essas linhas para isso:
fDlg._ofn.nFilterIndex = 2L;
fDlg.setExtFilter(TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);
Isso deve definir o índice do filtro para o segundo por padrão.
Outra maneira fácil de corrigir isso é modificar essas linhas (novamente, em NppIO.cpp
) para ficar assim:
fDlg.setExtFilter(TEXT("Text files"), TEXT(".txt"),
TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);
Isso garantirá que os arquivos de texto sejam o primeiro filtro da lista. Observe que isso fará com que a extensão .txt seja definida duas vezes nas entradas, mas se você puder conviver com essa limitação, isso deve funcionar bem.