[M1 Mac, Big Sur 11.6.8, clang 13.0.0, NO IDE]
Fl_File_Chooserから複数のファイルを選択して削除できるようにしました。
第3引数で単数選択(SINGLE)、複数選択(MULTI)、新規ファイル作成(CREATE)、ディレクトリ選択(DIRECTORY)を設定できます。
#include <filesystem>
#include <FileChooser.h> // 自製
namespace fs = std::filesystem;
void deleteFavList(Fl_Widget*, void*){
cout << "deleteFavList" << endl;
homedir = getenv("HOME");
cout << "homedir " << homedir << endl;
string cs = "/ColorSample";
string appdir = string(homedir) + cs;
if (!fs::exists(appdir)){
fs::create_directory(appdir);
}
FileChooser* chooser = new FileChooser(appdir.c_str(), // 呼び出すディレクトリ
"*.csv", // フィルタ
Fl_File_Chooser::MULTI, // 複数選択タイプ
"File_Chooser Delete"); // タイトル
chooser->show();
while(chooser->shown()){
Fl::wait();
}
// 選択ファイル数を取得
int num_select = chooser->count();
if (num_select == 0){
return;
}
// 選択ファイルのパスを出力し削除
for (int n = 1; n < num_select +1; ++n){
const char* filePath = chooser->value(n);
cout << "filePath" << n << " " << filePath << endl;
remove(filePath);
}
delete chooser;
}