Redesign OpenConfigOptions
This commit is contained in:
@@ -290,31 +290,22 @@ void CMD_OpenConfig() {
|
||||
} RegisterCommand(CMD_OpenConfig, "", "Open the global config file");
|
||||
|
||||
void CMD_OpenConfigOptions() {
|
||||
if (ActiveWindowID == CommandWindowID && LastExecutedManualCommand == CMD_OpenConfigOptions) {
|
||||
NextActiveWindowID = PrimaryWindowID;
|
||||
return;
|
||||
}
|
||||
ProfileFunction();
|
||||
|
||||
BSet command_bar = GetBSet(CommandWindowID);
|
||||
command_bar.window->visible = true;
|
||||
NextActiveWindowID = command_bar.window->id;
|
||||
ResetBuffer(command_bar.buffer);
|
||||
BSet main = GetBSet(PrimaryWindowID);
|
||||
JumpTempBuffer(&main);
|
||||
NextActiveWindowID = main.window->id;
|
||||
For (Variables) {
|
||||
RawAppendf(command_bar.buffer, "\n:Set %-50S ", it.name);
|
||||
RawAppendf(main.buffer, "\n:Set %-50S ", it.name);
|
||||
switch(it.type) {
|
||||
case VariableType_Color: RawAppendf(command_bar.buffer, "%x", it.color->value); break;
|
||||
case VariableType_String: RawAppendf(command_bar.buffer, "'%S'", *it.string); break;
|
||||
case VariableType_Int: RawAppendf(command_bar.buffer, "%lld", (long long)*it.i); break;
|
||||
case VariableType_Float: RawAppendf(command_bar.buffer, "%f", *it.f); break;
|
||||
case VariableType_Color: RawAppendf(main.buffer, "%x", it.color->value); break;
|
||||
case VariableType_String: RawAppendf(main.buffer, "'%S'", *it.string); break;
|
||||
case VariableType_Int: RawAppendf(main.buffer, "%lld", (long long)*it.i); break;
|
||||
case VariableType_Float: RawAppendf(main.buffer, "%f", *it.f); break;
|
||||
default: InvalidCodepath();
|
||||
}
|
||||
}
|
||||
For (CommandFunctions) {
|
||||
RawAppendf(command_bar.buffer, "\n:Set %-50S '%S'", it.name, it.binding);
|
||||
RawAppendf(main.buffer, "\n:Set %-50S '%S'", it.name, it.binding);
|
||||
}
|
||||
command_bar.view->update_scroll = true;
|
||||
SelectRange(command_bar.view, GetBufferBeginAsRange(command_bar.buffer));
|
||||
} RegisterCommand(CMD_OpenConfigOptions, "", "List available variables and associated documentation inside the command window");
|
||||
|
||||
void EvalCommandsLineByLine(BSet set) {
|
||||
|
||||
Reference in New Issue
Block a user