2024-11-12 14:53:44 -08:00
|
|
|
#pragma once
|
|
|
|
#include <Window.h>
|
|
|
|
#include <StringView.h>
|
|
|
|
#include <GroupLayout.h>
|
|
|
|
#include <Message.h>
|
|
|
|
#include <Control.h>
|
|
|
|
#include <SupportDefs.h>
|
|
|
|
#include <StringView.h>
|
|
|
|
#include <RadioButton.h>
|
|
|
|
#include <Button.h>
|
|
|
|
#include <OptionPopUp.h>
|
|
|
|
#include <CheckBox.h>
|
|
|
|
#include <vector>
|
|
|
|
#include <string>
|
|
|
|
#include <map>
|
2024-12-21 14:23:00 -08:00
|
|
|
#define CMD_SET_CAT 0x1010
|
2024-11-21 10:22:34 -08:00
|
|
|
class HaikuPrefsWindow : public BWindow {
|
2024-11-12 14:53:44 -08:00
|
|
|
std::vector<std::string> backend_ids;
|
2024-12-21 14:23:00 -08:00
|
|
|
std::string cat_id;
|
|
|
|
bool enable_cat;
|
|
|
|
std::map<std::string, BBitmap*> cats;
|
|
|
|
std::map<std::string, BRadioButton*> 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);
|
2024-11-12 14:53:44 -08:00
|
|
|
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;
|
2024-11-21 10:22:34 -08:00
|
|
|
HaikuPrefsWindow(BLooper *next_handler);
|
2024-11-12 14:53:44 -08:00
|
|
|
};
|