GUI: add move cursor by edit step on insert option
This commit is contained in:
parent
a6eec9f7c4
commit
1f058ac653
|
@ -3769,6 +3769,9 @@ void FurnaceGUI::doAction(int what) {
|
||||||
break;
|
break;
|
||||||
case GUI_ACTION_PAT_INSERT:
|
case GUI_ACTION_PAT_INSERT:
|
||||||
doInsert();
|
doInsert();
|
||||||
|
if (settings.stepOnInsert) {
|
||||||
|
moveCursor(0,editStep,false);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case GUI_ACTION_PAT_MUTE_CURSOR:
|
case GUI_ACTION_PAT_MUTE_CURSOR:
|
||||||
if (cursor.xCoarse<0 || cursor.xCoarse>=e->getTotalChannelCount()) break;
|
if (cursor.xCoarse<0 || cursor.xCoarse>=e->getTotalChannelCount()) break;
|
||||||
|
|
|
@ -535,6 +535,7 @@ class FurnaceGUI {
|
||||||
int guiColorsBase;
|
int guiColorsBase;
|
||||||
int avoidRaisingPattern;
|
int avoidRaisingPattern;
|
||||||
int insFocusesPattern;
|
int insFocusesPattern;
|
||||||
|
int stepOnInsert;
|
||||||
unsigned int maxUndoSteps;
|
unsigned int maxUndoSteps;
|
||||||
String mainFontPath;
|
String mainFontPath;
|
||||||
String patFontPath;
|
String patFontPath;
|
||||||
|
@ -578,6 +579,7 @@ class FurnaceGUI {
|
||||||
guiColorsBase(0),
|
guiColorsBase(0),
|
||||||
avoidRaisingPattern(0),
|
avoidRaisingPattern(0),
|
||||||
insFocusesPattern(1),
|
insFocusesPattern(1),
|
||||||
|
stepOnInsert(0),
|
||||||
maxUndoSteps(100),
|
maxUndoSteps(100),
|
||||||
mainFontPath(""),
|
mainFontPath(""),
|
||||||
patFontPath(""),
|
patFontPath(""),
|
||||||
|
|
|
@ -157,6 +157,11 @@ void FurnaceGUI::drawSettings() {
|
||||||
settings.stepOnDelete=stepOnDeleteB;
|
settings.stepOnDelete=stepOnDeleteB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool stepOnInsertB=settings.stepOnInsert;
|
||||||
|
if (ImGui::Checkbox("Move cursor by edit step on insert (push)",&stepOnInsertB)) {
|
||||||
|
settings.stepOnInsert=stepOnInsertB;
|
||||||
|
}
|
||||||
|
|
||||||
bool allowEditDockingB=settings.allowEditDocking;
|
bool allowEditDockingB=settings.allowEditDocking;
|
||||||
if (ImGui::Checkbox("Allow docking editors",&allowEditDockingB)) {
|
if (ImGui::Checkbox("Allow docking editors",&allowEditDockingB)) {
|
||||||
settings.allowEditDocking=allowEditDockingB;
|
settings.allowEditDocking=allowEditDockingB;
|
||||||
|
@ -206,6 +211,7 @@ void FurnaceGUI::drawSettings() {
|
||||||
if (ImGui::RadioButton("Move by Edit Step##cmk1",settings.scrollStep==1)) {
|
if (ImGui::RadioButton("Move by Edit Step##cmk1",settings.scrollStep==1)) {
|
||||||
settings.scrollStep=1;
|
settings.scrollStep=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::EndTabItem();
|
ImGui::EndTabItem();
|
||||||
}
|
}
|
||||||
if (ImGui::BeginTabItem("Audio")) {
|
if (ImGui::BeginTabItem("Audio")) {
|
||||||
|
@ -885,6 +891,7 @@ void FurnaceGUI::syncSettings() {
|
||||||
settings.guiColorsBase=e->getConfInt("guiColorsBase",0);
|
settings.guiColorsBase=e->getConfInt("guiColorsBase",0);
|
||||||
settings.avoidRaisingPattern=e->getConfInt("avoidRaisingPattern",0);
|
settings.avoidRaisingPattern=e->getConfInt("avoidRaisingPattern",0);
|
||||||
settings.insFocusesPattern=e->getConfInt("insFocusesPattern",1);
|
settings.insFocusesPattern=e->getConfInt("insFocusesPattern",1);
|
||||||
|
settings.stepOnInsert=e->getConfInt("stepOnInsert",0);
|
||||||
|
|
||||||
clampSetting(settings.mainFontSize,2,96);
|
clampSetting(settings.mainFontSize,2,96);
|
||||||
clampSetting(settings.patFontSize,2,96);
|
clampSetting(settings.patFontSize,2,96);
|
||||||
|
@ -922,6 +929,7 @@ void FurnaceGUI::syncSettings() {
|
||||||
clampSetting(settings.guiColorsBase,0,1);
|
clampSetting(settings.guiColorsBase,0,1);
|
||||||
clampSetting(settings.avoidRaisingPattern,0,1);
|
clampSetting(settings.avoidRaisingPattern,0,1);
|
||||||
clampSetting(settings.insFocusesPattern,0,1);
|
clampSetting(settings.insFocusesPattern,0,1);
|
||||||
|
clampSetting(settings.stepOnInsert,0,1);
|
||||||
|
|
||||||
// keybinds
|
// keybinds
|
||||||
LOAD_KEYBIND(GUI_ACTION_OPEN,FURKMOD_CMD|SDLK_o);
|
LOAD_KEYBIND(GUI_ACTION_OPEN,FURKMOD_CMD|SDLK_o);
|
||||||
|
@ -1120,6 +1128,7 @@ void FurnaceGUI::commitSettings() {
|
||||||
e->setConf("guiColorsBase",settings.guiColorsBase);
|
e->setConf("guiColorsBase",settings.guiColorsBase);
|
||||||
e->setConf("avoidRaisingPattern",settings.avoidRaisingPattern);
|
e->setConf("avoidRaisingPattern",settings.avoidRaisingPattern);
|
||||||
e->setConf("insFocusesPattern",settings.insFocusesPattern);
|
e->setConf("insFocusesPattern",settings.insFocusesPattern);
|
||||||
|
e->setConf("stepOnInsert",settings.stepOnInsert);
|
||||||
|
|
||||||
PUT_UI_COLOR(GUI_COLOR_BACKGROUND);
|
PUT_UI_COLOR(GUI_COLOR_BACKGROUND);
|
||||||
PUT_UI_COLOR(GUI_COLOR_FRAME_BACKGROUND);
|
PUT_UI_COLOR(GUI_COLOR_FRAME_BACKGROUND);
|
||||||
|
|
Loading…
Reference in a new issue