#pragma once #include #include #include #include #include #include #include #include #include class PrefsWindow : public QWidget { Q_OBJECT; std::vector backend_ids; int cur_option = 0; QLabel *restart_warning; std::string new_label_setting; std::string new_frontend; QPushButton *frontend_btn; QMenu *frontend_menu; std::vector frontend_options; std::map cats; std::map cat_btns; QCheckBox *menu_icons; QRadioButton *labels_only; QRadioButton *icons_only; QRadioButton *both_labels_icons; QPushButton *revert_btn; QPushButton *apply_btn; QCheckBox *cat_enable; bool enable_cat; std::string cat_setting; void update_label_setting(); void set_options_changed(bool changed); void revert(); void apply(); public: PrefsWindow(); Q_SIGNALS: void cat_set(QPixmap &img); void cat_unset(); void settings_changed(bool use_labels, bool use_icons); };