#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CMD_SET_CAT 0x1010 class HaikuPrefsWindow : public BWindow { std::vector backend_ids; std::string cat_id; bool enable_cat; std::map cats; std::map cat_btns; BCheckBox *cat_enable; void AddCat(std:string name, BBitmap* img); BBitmap *LoadCat(const char *path); BBitmap *LoadCat(const void *ptr, size_t len, const char *name); int32 cur_option = 0; BLooper *next_handler; BStringView *restart_warning; std::string new_label_setting; std::string new_frontend; BOptionPopUp *frontend_popup; BCheckBox *menu_icons; BRadioButton *labels_only; BRadioButton *icons_only; BRadioButton *both_labels_icons; BButton *revert_btn; BButton *apply_btn; void update_label_setting(); void set_options_changed(bool changed); public: bool QuitRequested() override; void MessageReceived(BMessage *msg) override; HaikuPrefsWindow(BLooper *next_handler); };