2025-03-15 10:29:19 +00:00
|
|
|
import { App, PluginSettingTab, Setting } from "obsidian";
|
|
|
|
|
import CheckboxSyncPlugin from "./main";
|
|
|
|
|
|
|
|
|
|
export class CheckboxSyncPluginSettingTab extends PluginSettingTab {
|
|
|
|
|
plugin: CheckboxSyncPlugin;
|
|
|
|
|
|
|
|
|
|
constructor(app: App, plugin: CheckboxSyncPlugin) {
|
|
|
|
|
super(app, plugin);
|
|
|
|
|
this.plugin = plugin;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
display(): void {
|
|
|
|
|
const { containerEl } = this;
|
|
|
|
|
containerEl.empty();
|
2025-04-11 15:07:53 +00:00
|
|
|
|
2025-03-15 10:29:19 +00:00
|
|
|
new Setting(containerEl)
|
|
|
|
|
.setName("X-Only Mode")
|
|
|
|
|
.setDesc("When enabled, only 'x' marks a task as complete. When disabled, any character except space marks a task as complete")
|
|
|
|
|
.addToggle((toggle) =>
|
|
|
|
|
toggle
|
|
|
|
|
.setValue(this.plugin.settings.xOnlyMode)
|
|
|
|
|
.onChange(async (value) => {
|
2025-04-11 15:07:53 +00:00
|
|
|
await this.plugin.updateSettings((settings) => {
|
|
|
|
|
settings.xOnlyMode = value;
|
|
|
|
|
});
|
2025-03-15 10:29:19 +00:00
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|