mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-16 05:42:32 +00:00
Right-clicking a tileset mode button gives the possibility to set it as the default one
Feature request: https://community.aseprite.org/t/19487
This commit is contained in:
parent
11644a7d16
commit
400456cbec
@ -256,6 +256,7 @@
|
||||
<option id="show_invalid_fg_bg_color_alert" type="bool" default="true" />
|
||||
<option id="entries_separator" type="bool" default="true" />
|
||||
<option id="show_color_and_tiles" type="bool" default="true" />
|
||||
<option id="default_tileset_mode" type="app::TilesetMode" default="app::TilesetMode::Auto" />
|
||||
</section>
|
||||
<section id="updater">
|
||||
<option id="inits" type="int" default="0" />
|
||||
|
@ -300,6 +300,7 @@ tileset_mode_stack = <<<END
|
||||
Stack: Don't modify existent tiles,
|
||||
generate and stack new tiles automatically
|
||||
END
|
||||
set_as_default = Set As Default
|
||||
remap_palette = Remap Palette
|
||||
remap_palette_tooltip = Matches old indexes with new indexes
|
||||
remap_tiles = Remap Tiles
|
||||
|
@ -312,6 +312,7 @@ FOR_ENUM(app::CelsTarget)
|
||||
FOR_ENUM(app::ColorBar::ColorSelector)
|
||||
FOR_ENUM(app::SpriteSheetDataFormat)
|
||||
FOR_ENUM(app::SpriteSheetType)
|
||||
FOR_ENUM(app::TilesetMode)
|
||||
FOR_ENUM(app::gen::BgType)
|
||||
FOR_ENUM(app::gen::BrushPreview)
|
||||
FOR_ENUM(app::gen::BrushType)
|
||||
|
@ -184,6 +184,7 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
|
||||
{
|
||||
m_instance = this;
|
||||
|
||||
auto& pref = Preferences::instance();
|
||||
auto theme = SkinTheme::get(this);
|
||||
|
||||
auto item = m_editPal.addItem("");
|
||||
@ -215,6 +216,8 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
|
||||
m_tilesetModeButtons.addItem(theme->parts.tilesManual(), "pal_button");
|
||||
m_tilesetModeButtons.addItem(theme->parts.tilesAuto(), "pal_button");
|
||||
m_tilesetModeButtons.addItem(theme->parts.tilesStack(), "pal_button");
|
||||
|
||||
m_tilesetMode = pref.colorBar.defaultTilesetMode();
|
||||
setTilesetMode(m_tilesetMode);
|
||||
|
||||
m_paletteView.setColumns(8);
|
||||
@ -242,8 +245,7 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
|
||||
m_splitter.addChild(&m_palettePlaceholder);
|
||||
m_splitter.addChild(&m_selectorPlaceholder);
|
||||
|
||||
setColorSelector(
|
||||
Preferences::instance().colorBar.selector());
|
||||
setColorSelector(pref.colorBar.selector());
|
||||
|
||||
m_tilesHBox.addChild(&m_tilesButton);
|
||||
m_tilesHBox.addChild(&m_tilesetModeButtons);
|
||||
@ -304,6 +306,7 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
|
||||
m_fgTile.Change.connect(&ColorBar::onFgTileButtonChange, this);
|
||||
m_bgTile.Change.connect(&ColorBar::onBgTileButtonChange, this);
|
||||
m_tilesetModeButtons.ItemChange.connect([this]{ onTilesetModeButtonClick(); });
|
||||
m_tilesetModeButtons.RightClick.connect([this]{ onTilesetModeButtonRightClick(); });
|
||||
|
||||
InitTheme.connect(
|
||||
[this, fgBox, bgBox]{
|
||||
@ -355,13 +358,13 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
|
||||
initTheme();
|
||||
|
||||
// Set background color reading its value from the configuration.
|
||||
setBgColor(Preferences::instance().colorBar.bgColor());
|
||||
setBgColor(pref.colorBar.bgColor());
|
||||
|
||||
// Clear the selection of the BG color in the palette.
|
||||
m_paletteView.deselect();
|
||||
|
||||
// Set foreground color reading its value from the configuration.
|
||||
setFgColor(Preferences::instance().colorBar.fgColor());
|
||||
setFgColor(pref.colorBar.fgColor());
|
||||
|
||||
// Tooltips
|
||||
setupTooltips(tooltipManager);
|
||||
@ -371,11 +374,11 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
|
||||
UIContext::instance()->add_observer(this);
|
||||
m_beforeCmdConn = UIContext::instance()->BeforeCommandExecution.connect(&ColorBar::onBeforeExecuteCommand, this);
|
||||
m_afterCmdConn = UIContext::instance()->AfterCommandExecution.connect(&ColorBar::onAfterExecuteCommand, this);
|
||||
m_fgConn = Preferences::instance().colorBar.fgColor.AfterChange.connect([this]{ onFgColorChangeFromPreferences(); });
|
||||
m_bgConn = Preferences::instance().colorBar.bgColor.AfterChange.connect([this]{ onBgColorChangeFromPreferences(); });
|
||||
m_fgTileConn = Preferences::instance().colorBar.fgTile.AfterChange.connect([this]{ onFgTileChangeFromPreferences(); });
|
||||
m_bgTileConn = Preferences::instance().colorBar.bgTile.AfterChange.connect([this]{ onBgTileChangeFromPreferences(); });
|
||||
m_sepConn = Preferences::instance().colorBar.entriesSeparator.AfterChange.connect([this]{ invalidate(); });
|
||||
m_fgConn = pref.colorBar.fgColor.AfterChange.connect([this]{ onFgColorChangeFromPreferences(); });
|
||||
m_bgConn = pref.colorBar.bgColor.AfterChange.connect([this]{ onBgColorChangeFromPreferences(); });
|
||||
m_fgTileConn = pref.colorBar.fgTile.AfterChange.connect([this]{ onFgTileChangeFromPreferences(); });
|
||||
m_bgTileConn = pref.colorBar.bgTile.AfterChange.connect([this]{ onBgTileChangeFromPreferences(); });
|
||||
m_sepConn = pref.colorBar.entriesSeparator.AfterChange.connect([this]{ invalidate(); });
|
||||
m_paletteView.FocusOrClick.connect(&ColorBar::onFocusPaletteView, this);
|
||||
m_tilesView.FocusOrClick.connect(&ColorBar::onFocusTilesView, this);
|
||||
m_appPalChangeConn = App::instance()->PaletteChange.connect(&ColorBar::onAppPaletteChange, this);
|
||||
@ -835,6 +838,25 @@ void ColorBar::onTilesetModeButtonClick()
|
||||
setTilesetMode(static_cast<TilesetMode>(item));
|
||||
}
|
||||
|
||||
void ColorBar::onTilesetModeButtonRightClick()
|
||||
{
|
||||
int item = m_tilesetModeButtons.selectedItem();
|
||||
gfx::Rect bounds = m_tilesetModeButtons.getItem(item)->bounds();
|
||||
|
||||
Menu menu;
|
||||
MenuItem setAsDefault(Strings::color_bar_set_as_default());
|
||||
|
||||
auto& pref = Preferences::instance();
|
||||
setAsDefault.setSelected(item == int(pref.colorBar.defaultTilesetMode()));
|
||||
menu.addChild(&setAsDefault);
|
||||
|
||||
setAsDefault.Click.connect([&pref, item]{
|
||||
pref.colorBar.defaultTilesetMode((TilesetMode)item);
|
||||
});
|
||||
|
||||
menu.showPopup(gfx::Point(bounds.x, bounds.y2()), display());
|
||||
}
|
||||
|
||||
void ColorBar::onRemapPalButtonClick()
|
||||
{
|
||||
ASSERT(m_oldPalette);
|
||||
|
@ -134,6 +134,7 @@ namespace app {
|
||||
void onTilesButtonClick();
|
||||
void onTilesButtonRightClick();
|
||||
void onTilesetModeButtonClick();
|
||||
void onTilesetModeButtonRightClick();
|
||||
void onTilesetOptionsClick();
|
||||
void onRemapPalButtonClick();
|
||||
void onRemapTilesButtonClick();
|
||||
|
Loading…
x
Reference in New Issue
Block a user