Set the initial timeline position in the LayoutSelector correctly

This commit is contained in:
David Capello 2022-08-25 10:25:41 -03:00
parent e2fcbc86df
commit 381d9e663a
1 changed files with 17 additions and 12 deletions

View File

@ -62,16 +62,11 @@ public:
addItem(Strings::timeline_conf_right())->processMnemonicFromText(); addItem(Strings::timeline_conf_right())->processMnemonicFromText();
addItem(Strings::timeline_conf_bottom(), 2)->processMnemonicFromText(); addItem(Strings::timeline_conf_bottom(), 2)->processMnemonicFromText();
Preferences::instance().general.timelinePosition.AfterChange.connect( auto& timelinePosOption = Preferences::instance().general.timelinePosition;
[this](gen::TimelinePosition position) {
int selItem = 0; setSelectedButtonFromTimelinePosition(timelinePosOption());
switch (position) { timelinePosOption.AfterChange.connect(
case gen::TimelinePosition::LEFT: selItem = 0; break; [this](gen::TimelinePosition position) { setSelectedButtonFromTimelinePosition(position); });
case gen::TimelinePosition::RIGHT: selItem = 1; break;
case gen::TimelinePosition::BOTTOM: selItem = 2; break;
}
setSelectedItem(selItem, false);
});
InitTheme.connect([this] { InitTheme.connect([this] {
auto theme = skin::SkinTheme::get(this); auto theme = skin::SkinTheme::get(this);
@ -81,14 +76,24 @@ public:
} }
private: private:
void setSelectedButtonFromTimelinePosition(gen::TimelinePosition pos)
{
int selItem = 0;
switch (pos) {
case gen::TimelinePosition::LEFT: selItem = 0; break;
case gen::TimelinePosition::RIGHT: selItem = 1; break;
case gen::TimelinePosition::BOTTOM: selItem = 2; break;
}
setSelectedItem(selItem, false);
}
void onItemChange(Item* item) override void onItemChange(Item* item) override
{ {
ButtonSet::onItemChange(item); ButtonSet::onItemChange(item);
ConfigureTimelinePopup::onChangeTimelinePosition(selectedItem()); ConfigureTimelinePopup::onChangeTimelinePosition(selectedItem());
// Show the timeline // Show the timeline
App::instance()->mainWindow() App::instance()->mainWindow()->setTimelineVisibility(true);
->setTimelineVisibility(true);
} }
}; };