diff --git a/release/datafiles/icons_svg/mouse_lmb.svg b/release/datafiles/icons_svg/mouse_lmb.svg index f138663571f..429880e83ac 100644 --- a/release/datafiles/icons_svg/mouse_lmb.svg +++ b/release/datafiles/icons_svg/mouse_lmb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_lmb_2x.svg b/release/datafiles/icons_svg/mouse_lmb_2x.svg new file mode 100644 index 00000000000..bb28507f0dc --- /dev/null +++ b/release/datafiles/icons_svg/mouse_lmb_2x.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_lmb_drag.svg b/release/datafiles/icons_svg/mouse_lmb_drag.svg index 245afd80f53..466d4933239 100644 --- a/release/datafiles/icons_svg/mouse_lmb_drag.svg +++ b/release/datafiles/icons_svg/mouse_lmb_drag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_mmb.svg b/release/datafiles/icons_svg/mouse_mmb.svg index d5dec68eb9a..388637f565e 100644 --- a/release/datafiles/icons_svg/mouse_mmb.svg +++ b/release/datafiles/icons_svg/mouse_mmb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_mmb_drag.svg b/release/datafiles/icons_svg/mouse_mmb_drag.svg index 0b1d20f652b..4312852bd9a 100644 --- a/release/datafiles/icons_svg/mouse_mmb_drag.svg +++ b/release/datafiles/icons_svg/mouse_mmb_drag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_mmb_scroll.svg b/release/datafiles/icons_svg/mouse_mmb_scroll.svg new file mode 100644 index 00000000000..1e6da51c97f --- /dev/null +++ b/release/datafiles/icons_svg/mouse_mmb_scroll.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_move.svg b/release/datafiles/icons_svg/mouse_move.svg index 958b5e1f1c3..af40467fce7 100644 --- a/release/datafiles/icons_svg/mouse_move.svg +++ b/release/datafiles/icons_svg/mouse_move.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_rmb.svg b/release/datafiles/icons_svg/mouse_rmb.svg index 7dd8201bc33..e6bc096e8ce 100644 --- a/release/datafiles/icons_svg/mouse_rmb.svg +++ b/release/datafiles/icons_svg/mouse_rmb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/release/datafiles/icons_svg/mouse_rmb_drag.svg b/release/datafiles/icons_svg/mouse_rmb_drag.svg index 802257d334f..6bbbf9045c1 100644 --- a/release/datafiles/icons_svg/mouse_rmb_drag.svg +++ b/release/datafiles/icons_svg/mouse_rmb_drag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index ee14c8b50fd..52f976af2c3 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -548,9 +548,11 @@ if(WITH_BLENDER) mod_wireframe monkey mouse_lmb + mouse_lmb_2x mouse_lmb_drag mouse_mmb mouse_mmb_drag + mouse_mmb_scroll mouse_move mouse_rmb mouse_rmb_drag diff --git a/source/blender/editors/include/UI_icons.hh b/source/blender/editors/include/UI_icons.hh index 8af6211e305..18f19946858 100644 --- a/source/blender/editors/include/UI_icons.hh +++ b/source/blender/editors/include/UI_icons.hh @@ -246,6 +246,8 @@ DEF_ICON(RNA_ADD) DEF_ICON(MOUSE_LMB) DEF_ICON(MOUSE_MMB) DEF_ICON(MOUSE_RMB) +DEF_ICON(MOUSE_MMB_SCROLL) +DEF_ICON(MOUSE_LMB_2X) DEF_ICON(MOUSE_MOVE) DEF_ICON(MOUSE_LMB_DRAG) DEF_ICON(MOUSE_MMB_DRAG) diff --git a/source/blender/editors/interface/interface_icons.cc b/source/blender/editors/interface/interface_icons.cc index 53be48a440d..654b1c31bef 100644 --- a/source/blender/editors/interface/interface_icons.cc +++ b/source/blender/editors/interface/interface_icons.cc @@ -559,6 +559,9 @@ int UI_icon_from_event_type(short event_type, short event_value) } while ((di = di->data.input.next)); if (event_type == LEFTMOUSE) { + if (event_value == KM_DBL_CLICK) { + return ICON_MOUSE_LMB_2X; + } return (event_value == KM_CLICK_DRAG) ? ICON_MOUSE_LMB_DRAG : ICON_MOUSE_LMB; } if (event_type == MIDDLEMOUSE) { diff --git a/source/blender/editors/interface/templates/interface_templates.cc b/source/blender/editors/interface/templates/interface_templates.cc index 1312b020730..9dd7343389b 100644 --- a/source/blender/editors/interface/templates/interface_templates.cc +++ b/source/blender/editors/interface/templates/interface_templates.cc @@ -6800,14 +6800,10 @@ bool uiTemplateEventFromKeymapItem(uiLayout *layout, /* Icon and text separately is closer together with aligned layout. */ - if (icon >= ICON_MOUSE_LMB && icon <= ICON_MOUSE_RMB_DRAG) { - /* Negative space before all narrow mice icons. */ - uiItemS_ex(layout, -0.5f); - } uiItemL(layout, "", icon); - if (icon >= ICON_MOUSE_LMB && icon <= ICON_MOUSE_RMB) { - /* Negative space after non-drag mice icons. */ - uiItemS_ex(layout, -0.5f); + if (icon >= ICON_MOUSE_LMB && icon <= ICON_MOUSE_MMB_SCROLL) { + /* Negative space after narrow mice icons. */ + uiItemS_ex(layout, -0.9f); } uiItemS_ex(layout, 0.3f); diff --git a/source/blender/editors/screen/area.cc b/source/blender/editors/screen/area.cc index d40ccd8ebd5..f8ed80c06f7 100644 --- a/source/blender/editors/screen/area.cc +++ b/source/blender/editors/screen/area.cc @@ -876,7 +876,7 @@ WorkspaceStatus::WorkspaceStatus(bContext *C) static constexpr float STATUS_AFTER_TEXT = 0.7f; static constexpr float STATUS_BEFORE_TEXT = 0.3f; -static constexpr float STATUS_MOUSE_ICON_PAD = -0.5f; +static constexpr float STATUS_MOUSE_ICON_PAD = -0.9f; static void ed_workspace_status_text_item(WorkSpace *workspace, std::string text) { @@ -892,13 +892,9 @@ static void ed_workspace_status_mouse_item(WorkSpace *workspace, const bool inverted = false) { if (icon) { - if (icon >= ICON_MOUSE_LMB && icon <= ICON_MOUSE_RMB_DRAG) { - /* Negative space before all narrow mice icons. */ - ed_workspace_status_space(workspace, STATUS_MOUSE_ICON_PAD); - } ed_workspace_status_item(workspace, {}, icon, 0.0f, inverted); - if (icon >= ICON_MOUSE_LMB && icon <= ICON_MOUSE_RMB) { - /* Negative space after non-drag mice icons. */ + if (icon >= ICON_MOUSE_LMB && icon <= ICON_MOUSE_MMB_SCROLL) { + /* Negative space after narrow mice icons. */ ed_workspace_status_space(workspace, STATUS_MOUSE_ICON_PAD); } } @@ -962,10 +958,6 @@ void WorkspaceStatus::opmodal(std::string text, if (!ELEM(kmi->oskey, KM_NOTHING, KM_ANY)) { ed_workspace_status_item(workspace_, {}, ICON_EVENT_OS, 0.0f, inverted); } - if (kmi->val == KM_DBL_CLICK) { - ed_workspace_status_item(workspace_, "2" BLI_STR_UTF8_MULTIPLICATION_SIGN, ICON_NONE); - ed_workspace_status_space(workspace_, -0.7f); - } ed_workspace_status_mouse_item(workspace_, icon, inverted); ed_workspace_status_text_item(workspace_, std::move(text)); }