forked from mia/Aegisub
OS X: Always use 24x24 icons for toolbars attached to frames
32x32 icons really should be used here as they'll get automatically upscaled to that anyway, but we currently don't have those. Originally committed to SVN as r6827.
This commit is contained in:
parent
ba40e24326
commit
3d512eb422
1 changed files with 16 additions and 4 deletions
|
@ -62,6 +62,8 @@ namespace {
|
||||||
std::vector<cmd::Command *> commands;
|
std::vector<cmd::Command *> commands;
|
||||||
/// Hotkey context
|
/// Hotkey context
|
||||||
std::string ht_context;
|
std::string ht_context;
|
||||||
|
/// Current icon size
|
||||||
|
int icon_size;
|
||||||
|
|
||||||
/// Listener for icon size change signal
|
/// Listener for icon size change signal
|
||||||
agi::signal::Connection icon_size_slot;
|
agi::signal::Connection icon_size_slot;
|
||||||
|
@ -86,6 +88,12 @@ namespace {
|
||||||
(*commands[evt.GetId() - TOOL_ID_BASE])(context);
|
(*commands[evt.GetId() - TOOL_ID_BASE])(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Regenerate the toolbar when the icon size changes
|
||||||
|
void OnIconSizeChange(agi::OptionValue const& opt) {
|
||||||
|
icon_size = opt.GetInt();
|
||||||
|
RegenerateToolbar();
|
||||||
|
}
|
||||||
|
|
||||||
/// Clear the toolbar and recreate it
|
/// Clear the toolbar and recreate it
|
||||||
void RegenerateToolbar() {
|
void RegenerateToolbar() {
|
||||||
Unbind(wxEVT_IDLE, &Toolbar::OnIdle, this);
|
Unbind(wxEVT_IDLE, &Toolbar::OnIdle, this);
|
||||||
|
@ -103,8 +111,6 @@ namespace {
|
||||||
throw agi::InternalError("Toolbar named " + name + " not found.", 0);
|
throw agi::InternalError("Toolbar named " + name + " not found.", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int icon_size = OPT_GET("App/Toolbar Icon Size")->GetInt();
|
|
||||||
|
|
||||||
json::Array const& arr = root_it->second;
|
json::Array const& arr = root_it->second;
|
||||||
commands.reserve(arr.size());
|
commands.reserve(arr.size());
|
||||||
bool needs_onidle = false;
|
bool needs_onidle = false;
|
||||||
|
@ -177,7 +183,8 @@ namespace {
|
||||||
, name(name)
|
, name(name)
|
||||||
, context(c)
|
, context(c)
|
||||||
, ht_context(ht_context)
|
, ht_context(ht_context)
|
||||||
, icon_size_slot(OPT_SUB("App/Toolbar Icon Size", &Toolbar::RegenerateToolbar, this))
|
, icon_size(OPT_GET("App/Toolbar Icon Size")->GetInt())
|
||||||
|
, icon_size_slot(OPT_SUB("App/Toolbar Icon Size", &Toolbar::OnIconSizeChange, this))
|
||||||
, hotkeys_changed_slot(hotkey::inst->AddHotkeyChangeListener(&Toolbar::RegenerateToolbar, this))
|
, hotkeys_changed_slot(hotkey::inst->AddHotkeyChangeListener(&Toolbar::RegenerateToolbar, this))
|
||||||
{
|
{
|
||||||
Populate();
|
Populate();
|
||||||
|
@ -189,7 +196,12 @@ namespace {
|
||||||
, name(name)
|
, name(name)
|
||||||
, context(c)
|
, context(c)
|
||||||
, ht_context(ht_context)
|
, ht_context(ht_context)
|
||||||
, icon_size_slot(OPT_SUB("App/Toolbar Icon Size", &Toolbar::RegenerateToolbar, this))
|
#ifndef __WXMAC__
|
||||||
|
, icon_size(OPT_GET("App/Toolbar Icon Size")->GetInt())
|
||||||
|
, icon_size_slot(OPT_SUB("App/Toolbar Icon Size", &Toolbar::OnIconSizeChange, this))
|
||||||
|
#else
|
||||||
|
, icon_size(24)
|
||||||
|
#endif
|
||||||
, hotkeys_changed_slot(hotkey::inst->AddHotkeyChangeListener(&Toolbar::RegenerateToolbar, this))
|
, hotkeys_changed_slot(hotkey::inst->AddHotkeyChangeListener(&Toolbar::RegenerateToolbar, this))
|
||||||
{
|
{
|
||||||
parent->SetToolBar(this);
|
parent->SetToolBar(this);
|
||||||
|
|
Loading…
Reference in a new issue