MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / createGeneralTab

Method createGeneralTab

source/ui/controls/optionsView.cpp:100–237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

98}
99
100void OptionsView::createGeneralTab() {
101 std::shared_ptr<ImGuiLayout> model = std::make_shared<ImGuiLayout>();
102 std::shared_ptr<LayoutSection> section = model->addSection(Msg::OPTIONSVIEW_TITLE_GENERAL);
103
104 saveLocationControl = section->addTextInputRow(Msg::OPTIONSVIEW_SAVE_FOLDER_LABEL, Msg::OPTIONSVIEW_SAVE_FOLDER_HELP, GlobalSettings::getDataFolder());
105 saveLocationControl->setBrowseDirButton();
106 // :TODO: track when we loose focus and save
107
108 std::vector<ComboboxItem> resolutions;
109 for (auto& res : GlobalSettings::getAvailableResolutions()) {
110 resolutions.push_back(ComboboxItem(res));
111 }
112 resolutionControl = section->addComboboxRow(Msg::OPTIONSVIEW_DEFAULT_RESOLUTION_LABEL, Msg::OPTIONSVIEW_DEFAULT_RESOLUTION_HELP, resolutions);
113 resolutionControl->setWidth((int)GlobalSettings::scaleFloatUIAndFont(150));
114 resolutionControl->setSelectionByLabel(GlobalSettings::getDefaultResolution());
115 resolutionControl->onChange = [this]() {
116 GlobalSettings::defaultResolution = GlobalSettings::availableResolutions[this->resolutionControl->getSelection()];
117 GlobalSettings::saveConfig();
118 };
119
120 std::vector<ComboboxItem> vsync;
121 vsync.push_back(ComboboxItem(B("Disabled"), VSYNC_DISABLED));
122 vsync.push_back(ComboboxItem(B("Enabled"), VSYNC_ENABLED));
123 vsync.push_back(ComboboxItem(B("Adaptive"), VSYNC_ADAPTIVE));
124 vsyncControl = section->addComboboxRow(Msg::OPTIONS_VIEW_VSYNC_LABEL, Msg::OPTIONS_VIEW_VSYNC_HELP, vsync, GlobalSettings::defaultVsync);
125 vsyncControl->setWidth((int)GlobalSettings::scaleFloatUIAndFont(150));
126 vsyncControl->onChange = [this]() {
127 GlobalSettings::defaultVsync = this->vsyncControl->getSelectionIntValue();
128 GlobalSettings::saveConfig();
129 };
130
131 std::vector<ComboboxItem> scales;
132 scales.push_back(ComboboxItem(B("1/2x"), 50));
133 scales.push_back(ComboboxItem(B("1x"), 100));
134 scales.push_back(ComboboxItem(B("2x"), 200));
135 scales.push_back(ComboboxItem(B("3x"), 300));
136 scaleControl = section->addComboboxRow(Msg::OPTIONSVIEW_DEFAULT_SCALE_LABEL, Msg::OPTIONSVIEW_DEFAULT_SCALE_HELP, scales, GlobalSettings::getDefaultScale()/100);
137 scaleControl->setWidth((int)GlobalSettings::scaleFloatUIAndFont(150));
138 scaleControl->onChange = [this]() {
139 GlobalSettings::defaultScale = this->scaleControl->getSelectionIntValue();
140 GlobalSettings::saveConfig();
141 };
142
143#if defined(BOXEDWINE_OPENGL_OSMESA)
144 std::vector<ComboboxItem> glOptions;
145 glOptions.push_back(ComboboxItem(B("Native"), OPENGL_TYPE_NATIVE));
146 glOptions.push_back(ComboboxItem(B("Software - Mesa LLVM Pipe"), OPENGL_TYPE_LLVM_PIPE));
147 openGlControl = section->addComboboxRow(Msg::OPTIONSVIEW_DEFAULT_OPENGL_LABEL, Msg::OPTIONSVIEW_DEFAULT_OPENGL_HELP, glOptions, GlobalSettings::defaultOpenGL);
148 openGlControl->setWidth((int)GlobalSettings::scaleFloatUIAndFont(250));
149 openGlControl->setSelectionIntValue(GlobalSettings::defaultOpenGL);
150 openGlControl->onChange = [this]() {
151 GlobalSettings::defaultOpenGL = this->openGlControl->getSelectionIntValue();
152 GlobalSettings::saveConfig();
153 };
154#endif
155#if defined(BOXEDWINE_OPENGL_SDL)
156 if (KSystem::isWindows()) {
157 std::vector<ComboboxItem> glOptions;

Callers

nothing calls this directly

Calls 15

ComboboxItemClass · 0.85
BFunction · 0.85
getTranslationFunction · 0.85
runOnMainUIFunction · 0.85
addSectionMethod · 0.80
addTextInputRowMethod · 0.80
setBrowseDirButtonMethod · 0.80
addComboboxRowMethod · 0.80
setWidthMethod · 0.80
setSelectionByLabelMethod · 0.80
getSelectionMethod · 0.80
getSelectionIntValueMethod · 0.80

Tested by

no test coverage detected