[C++] 123 FLTK : Fl_File_Chooserから複数ファイルを削除 

[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;
}