Merge branch 'workarounds' into feature
This commit is contained in:
commit
a867f0cc30
22
.github/workflows/ci.yml
vendored
22
.github/workflows/ci.yml
vendored
|
@ -41,6 +41,28 @@ jobs:
|
||||||
-Davisynth=enabled
|
-Davisynth=enabled
|
||||||
-Dbestsource=enabled
|
-Dbestsource=enabled
|
||||||
-Dvapoursynth=enabled
|
-Dvapoursynth=enabled
|
||||||
|
- name: Windows MSVC Release (wx master)
|
||||||
|
os: windows-latest
|
||||||
|
msvc: true
|
||||||
|
buildtype: release
|
||||||
|
args: >-
|
||||||
|
-Ddefault_library=static
|
||||||
|
--force-fallback-for=zlib,harfbuzz,freetype2,fribidi,libpng
|
||||||
|
-Dfreetype2:harfbuzz=disabled
|
||||||
|
-Dharfbuzz:freetype=disabled
|
||||||
|
-Dharfbuzz:cairo=disabled
|
||||||
|
-Dharfbuzz:glib=disabled
|
||||||
|
-Dharfbuzz:gobject=disabled
|
||||||
|
-Dharfbuzz:tests=disabled
|
||||||
|
-Dharfbuzz:docs=disabled
|
||||||
|
-Dharfbuzz:icu=disabled
|
||||||
|
-Dfribidi:tests=false
|
||||||
|
-Dfribidi:docs=false
|
||||||
|
-Dlibass:fontconfig=disabled
|
||||||
|
-Davisynth=enabled
|
||||||
|
-Dbestsource=enabled
|
||||||
|
-Dvapoursynth=enabled
|
||||||
|
-Dwx_version='3.3.0'
|
||||||
#- {
|
#- {
|
||||||
# name: Windows MinGW,
|
# name: Windows MinGW,
|
||||||
# os: windows-latest,
|
# os: windows-latest,
|
||||||
|
|
18
meson.build
18
meson.build
|
@ -8,6 +8,7 @@ cmake = import('cmake')
|
||||||
|
|
||||||
if host_machine.system() == 'windows'
|
if host_machine.system() == 'windows'
|
||||||
add_project_arguments('-DNOMINMAX', language: 'cpp')
|
add_project_arguments('-DNOMINMAX', language: 'cpp')
|
||||||
|
add_project_arguments('-DUNICODE', language: 'cpp')
|
||||||
|
|
||||||
if not get_option('csri').disabled()
|
if not get_option('csri').disabled()
|
||||||
add_global_arguments('-DCSRI_NO_EXPORT', language: 'c')
|
add_global_arguments('-DCSRI_NO_EXPORT', language: 'c')
|
||||||
|
@ -146,16 +147,21 @@ else
|
||||||
opt_var = cmake.subproject_options()
|
opt_var = cmake.subproject_options()
|
||||||
opt_var.add_cmake_defines({
|
opt_var.add_cmake_defines({
|
||||||
'wxBUILD_INSTALL': false,
|
'wxBUILD_INSTALL': false,
|
||||||
'wxBUILD_PRECOMP': false, # otherwise breaks project generation w/ meson
|
'wxBUILD_PRECOMP': 'OFF', # otherwise breaks project generation w/ meson
|
||||||
'wxBUILD_SHARED': build_shared,
|
'wxBUILD_SHARED': build_shared,
|
||||||
|
|
||||||
'wxUSE_WEBVIEW': false, # breaks build on linux
|
'wxUSE_WEBVIEW': false, # breaks build on linux
|
||||||
|
'wxUSE_REGEX': 'builtin',
|
||||||
'CMAKE_BUILD_TYPE': build_type,
|
'CMAKE_BUILD_TYPE': build_type,
|
||||||
'wxUSE_IMAGE': true,
|
'wxUSE_IMAGE': true,
|
||||||
'wxBUILD_MONOLITHIC': true # otherwise breaks project generation w/ meson
|
'wxBUILD_MONOLITHIC': true # otherwise breaks project generation w/ meson
|
||||||
})
|
})
|
||||||
|
|
||||||
wx = cmake.subproject('wxWidgets', options: opt_var)
|
if get_option('wx_version').version_compare('>=3.3.0')
|
||||||
|
wx = cmake.subproject('wxWidgets-master', options: opt_var)
|
||||||
|
else
|
||||||
|
wx = cmake.subproject('wxWidgets', options: opt_var)
|
||||||
|
endif
|
||||||
|
|
||||||
deps += [
|
deps += [
|
||||||
wx.dependency('wxmono'),
|
wx.dependency('wxmono'),
|
||||||
|
@ -163,6 +169,12 @@ else
|
||||||
wx.dependency('wxscintilla')
|
wx.dependency('wxscintilla')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if get_option('wx_version').version_compare('>=3.3.0')
|
||||||
|
deps += [
|
||||||
|
wx.dependency('wxlexilla')
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
if host_machine.system() == 'windows' or host_machine.system() == 'darwin'
|
if host_machine.system() == 'windows' or host_machine.system() == 'darwin'
|
||||||
deps += [
|
deps += [
|
||||||
wx.dependency('wxpng'),
|
wx.dependency('wxpng'),
|
||||||
|
@ -316,7 +328,7 @@ if host_machine.system() == 'windows'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if host_machine.system() == 'darwin'
|
if host_machine.system() == 'darwin'
|
||||||
frameworks_dep = dependency('appleframeworks', modules : ['CoreText', 'CoreFoundation', 'AppKit', 'Carbon', 'IOKit'])
|
frameworks_dep = dependency('appleframeworks', modules : ['CoreText', 'CoreFoundation', 'AppKit', 'Carbon', 'IOKit', 'QuartzCore'])
|
||||||
deps += frameworks_dep
|
deps += frameworks_dep
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ AudioBox::AudioBox(wxWindow *parent, agi::Context *context)
|
||||||
, controller(context->audioController.get())
|
, controller(context->audioController.get())
|
||||||
, context(context)
|
, context(context)
|
||||||
, audio_open_connection(context->audioController->AddAudioPlayerOpenListener(&AudioBox::OnAudioOpen, this))
|
, audio_open_connection(context->audioController->AddAudioPlayerOpenListener(&AudioBox::OnAudioOpen, this))
|
||||||
, panel(new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxBORDER_RAISED))
|
, panel(new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxBORDER_RAISED)))
|
||||||
, audioDisplay(new AudioDisplay(panel, context->audioController.get(), context))
|
, audioDisplay(new AudioDisplay(panel, context->audioController.get(), context))
|
||||||
, HorizontalZoom(new wxSlider(panel, Audio_Horizontal_Zoom, -OPT_GET("Audio/Zoom/Horizontal")->GetInt(), -50, 30, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL|wxSL_BOTH))
|
, HorizontalZoom(new wxSlider(panel, Audio_Horizontal_Zoom, -OPT_GET("Audio/Zoom/Horizontal")->GetInt(), -50, 30, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL|wxSL_BOTH))
|
||||||
, VerticalZoom(new wxSlider(panel, Audio_Vertical_Zoom, OPT_GET("Audio/Zoom/Vertical")->GetInt(), 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL|wxSL_BOTH|wxSL_INVERSE))
|
, VerticalZoom(new wxSlider(panel, Audio_Vertical_Zoom, OPT_GET("Audio/Zoom/Vertical")->GetInt(), 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL|wxSL_BOTH|wxSL_INVERSE))
|
||||||
|
|
|
@ -63,7 +63,7 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
BaseGrid::BaseGrid(wxWindow* parent, agi::Context *context)
|
BaseGrid::BaseGrid(wxWindow* parent, agi::Context *context)
|
||||||
: wxWindow(parent, -1, wxDefaultPosition, wxDefaultSize, wxWANTS_CHARS | wxSUNKEN_BORDER)
|
: wxWindow(parent, -1, wxDefaultPosition, wxDefaultSize, wxWANTS_CHARS | (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxSUNKEN_BORDER))
|
||||||
, scrollBar(new wxScrollBar(this, GRID_SCROLLBAR, wxDefaultPosition, wxDefaultSize, wxSB_VERTICAL))
|
, scrollBar(new wxScrollBar(this, GRID_SCROLLBAR, wxDefaultPosition, wxDefaultSize, wxSB_VERTICAL))
|
||||||
, context(context)
|
, context(context)
|
||||||
, columns(GetGridColumns())
|
, columns(GetGridColumns())
|
||||||
|
|
|
@ -410,8 +410,8 @@ void ColorPickerScreenDropper::DropFromScreenXY(int x, int y) {
|
||||||
CGGetDisplaysWithPoint(CGPointMake(x, y), 1, &display_id, &display_count);
|
CGGetDisplaysWithPoint(CGPointMake(x, y), 1, &display_id, &display_count);
|
||||||
|
|
||||||
agi::scoped_holder<CGImageRef> img(CGDisplayCreateImageForRect(display_id, CGRectMake(x - resx / 2, y - resy / 2, resx, resy)), CGImageRelease);
|
agi::scoped_holder<CGImageRef> img(CGDisplayCreateImageForRect(display_id, CGRectMake(x - resx / 2, y - resy / 2, resx, resy)), CGImageRelease);
|
||||||
NSUInteger width = CGImageGetWidth(img);
|
size_t width = CGImageGetWidth(img);
|
||||||
NSUInteger height = CGImageGetHeight(img);
|
size_t height = CGImageGetHeight(img);
|
||||||
std::vector<uint8_t> imgdata(height * width * 4);
|
std::vector<uint8_t> imgdata(height * width * 4);
|
||||||
|
|
||||||
agi::scoped_holder<CGColorSpaceRef> colorspace(CGColorSpaceCreateDeviceRGB(), CGColorSpaceRelease);
|
agi::scoped_holder<CGColorSpaceRef> colorspace(CGColorSpaceCreateDeviceRGB(), CGColorSpaceRelease);
|
||||||
|
@ -596,7 +596,7 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, agi::Color initial_color,
|
||||||
|
|
||||||
eyedropper_bitmap = GETIMAGE(eyedropper_tool_24);
|
eyedropper_bitmap = GETIMAGE(eyedropper_tool_24);
|
||||||
eyedropper_bitmap.SetMask(new wxMask(eyedropper_bitmap, wxColour(255, 0, 255)));
|
eyedropper_bitmap.SetMask(new wxMask(eyedropper_bitmap, wxColour(255, 0, 255)));
|
||||||
screen_dropper_icon = new wxStaticBitmap(this, -1, eyedropper_bitmap, wxDefaultPosition, wxDefaultSize, wxRAISED_BORDER);
|
screen_dropper_icon = new wxStaticBitmap(this, -1, eyedropper_bitmap, wxDefaultPosition, wxDefaultSize, (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxRAISED_BORDER));
|
||||||
screen_dropper = new ColorPickerScreenDropper(this, 7, 7, 8);
|
screen_dropper = new ColorPickerScreenDropper(this, 7, 7, 8);
|
||||||
|
|
||||||
// Arrange the controls in a nice way
|
// Arrange the controls in a nice way
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "dialog_progress.h"
|
#include "dialog_progress.h"
|
||||||
|
|
||||||
#include "compat.h"
|
#include "compat.h"
|
||||||
|
#include "options.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
#include <libaegisub/dispatch.h>
|
#include <libaegisub/dispatch.h>
|
||||||
|
@ -121,7 +122,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
DialogProgress::DialogProgress(wxWindow *parent, wxString const& title_text, wxString const& message)
|
DialogProgress::DialogProgress(wxWindow *parent, wxString const& title_text, wxString const& message)
|
||||||
: wxDialog(parent, -1, title_text, wxDefaultPosition, wxDefaultSize, wxBORDER_RAISED)
|
: wxDialog(parent, -1, title_text, wxDefaultPosition, wxDefaultSize, (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxBORDER_RAISED))
|
||||||
, pulse_timer(GetEventHandler())
|
, pulse_timer(GetEventHandler())
|
||||||
{
|
{
|
||||||
title = new wxStaticText(this, -1, title_text, wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE | wxST_NO_AUTORESIZE);
|
title = new wxStaticText(this, -1, title_text, wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE | wxST_NO_AUTORESIZE);
|
||||||
|
|
|
@ -327,7 +327,7 @@ DialogStyleEditor::DialogStyleEditor(wxWindow *parent, AssStyle *style, agi::Con
|
||||||
// Preview
|
// Preview
|
||||||
auto previewButton = new ColourButton(this, wxSize(45, 16), false, OPT_GET("Colour/Style Editor/Background/Preview")->GetColor());
|
auto previewButton = new ColourButton(this, wxSize(45, 16), false, OPT_GET("Colour/Style Editor/Background/Preview")->GetColor());
|
||||||
PreviewText = new wxTextCtrl(this, -1, to_wx(OPT_GET("Tool/Style Editor/Preview Text")->GetString()));
|
PreviewText = new wxTextCtrl(this, -1, to_wx(OPT_GET("Tool/Style Editor/Preview Text")->GetString()));
|
||||||
SubsPreview = new SubtitlesPreview(this, wxSize(100, 60), wxSUNKEN_BORDER, OPT_GET("Colour/Style Editor/Background/Preview")->GetColor());
|
SubsPreview = new SubtitlesPreview(this, wxSize(100, 60), (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxSUNKEN_BORDER), OPT_GET("Colour/Style Editor/Background/Preview")->GetColor());
|
||||||
|
|
||||||
SubsPreview->SetToolTip(_("Preview of current style"));
|
SubsPreview->SetToolTip(_("Preview of current style"));
|
||||||
SubsPreview->SetStyle(*style);
|
SubsPreview->SetStyle(*style);
|
||||||
|
|
|
@ -51,6 +51,11 @@
|
||||||
#include <wx/stattext.h>
|
#include <wx/stattext.h>
|
||||||
#include <wx/stc/stc.h>
|
#include <wx/stc/stc.h>
|
||||||
|
|
||||||
|
// Define macros for wxWidgets 3.1
|
||||||
|
#ifndef wxSTC_KEYMOD_SHIFT
|
||||||
|
#define wxSTC_KEYMOD_SHIFT wxSTC_SCMOD_SHIFT
|
||||||
|
#endif
|
||||||
|
|
||||||
static void add_hotkey(wxSizer *sizer, wxWindow *parent, const char *command, wxString const& text) {
|
static void add_hotkey(wxSizer *sizer, wxWindow *parent, const char *command, wxString const& text) {
|
||||||
sizer->Add(new wxStaticText(parent, -1, text));
|
sizer->Add(new wxStaticText(parent, -1, text));
|
||||||
sizer->Add(new wxStaticText(parent, -1, to_wx(hotkey::get_hotkey_str_first("Translation Assistant", command))));
|
sizer->Add(new wxStaticText(parent, -1, to_wx(hotkey::get_hotkey_str_first("Translation Assistant", command))));
|
||||||
|
@ -97,7 +102,7 @@ DialogTranslation::DialogTranslation(agi::Context *c)
|
||||||
translated_text->SetMarginWidth(1, 0);
|
translated_text->SetMarginWidth(1, 0);
|
||||||
translated_text->SetFocus();
|
translated_text->SetFocus();
|
||||||
translated_text->Bind(wxEVT_CHAR_HOOK, &DialogTranslation::OnKeyDown, this);
|
translated_text->Bind(wxEVT_CHAR_HOOK, &DialogTranslation::OnKeyDown, this);
|
||||||
translated_text->CmdKeyAssign(wxSTC_KEY_RETURN, wxSTC_SCMOD_SHIFT, wxSTC_CMD_NEWLINE);
|
translated_text->CmdKeyAssign(wxSTC_KEY_RETURN, wxSTC_KEYMOD_SHIFT, wxSTC_CMD_NEWLINE);
|
||||||
|
|
||||||
wxSizer *translated_box = new wxStaticBoxSizer(wxVERTICAL, this, _("Translation"));
|
wxSizer *translated_box = new wxStaticBoxSizer(wxVERTICAL, this, _("Translation"));
|
||||||
translated_box->Add(translated_text, 1, wxEXPAND, 0);
|
translated_box->Add(translated_text, 1, wxEXPAND, 0);
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
"Save Charset" : "UTF-8",
|
"Save Charset" : "UTF-8",
|
||||||
"Save UI State" : true,
|
"Save UI State" : true,
|
||||||
"Show Toolbar" : true,
|
"Show Toolbar" : true,
|
||||||
"Toolbar Icon Size" : 16
|
"Toolbar Icon Size" : 16,
|
||||||
|
"Dark Mode" : false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -224,6 +224,12 @@ bool AegisubApp::OnInit() {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__WXMSW__) && wxVERSION_NUMBER >= 3300
|
||||||
|
if (OPT_GET("App/Dark Mode")->GetBool()) {
|
||||||
|
MSWEnableDarkMode(wxApp::DarkMode_Always);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Init commands.
|
// Init commands.
|
||||||
cmd::init_builtin_commands();
|
cmd::init_builtin_commands();
|
||||||
|
|
||||||
|
|
|
@ -238,6 +238,11 @@ void Interface(wxTreebook *book, Preferences *parent) {
|
||||||
auto color_picker = p->PageSizer(_("Colour Picker"));
|
auto color_picker = p->PageSizer(_("Colour Picker"));
|
||||||
p->OptionAdd(color_picker, _("Restrict Screen Picker to Window"), "Tool/Colour Picker/Restrict to Window");
|
p->OptionAdd(color_picker, _("Restrict Screen Picker to Window"), "Tool/Colour Picker/Restrict to Window");
|
||||||
|
|
||||||
|
#if defined(__WXMSW__) && wxVERSION_NUMBER >= 3300
|
||||||
|
auto dark_mode = p->PageSizer(_("Dark Mode"));
|
||||||
|
p->OptionAdd(dark_mode, _("Enable experimental dark mode (restart required)"), "App/Dark Mode");
|
||||||
|
#endif
|
||||||
|
|
||||||
p->SetSizerAndFit(p->sizer);
|
p->SetSizerAndFit(p->sizer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ const auto AssDialogue_Effect = &AssDialogue::Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
SubsEditBox::SubsEditBox(wxWindow *parent, agi::Context *context)
|
SubsEditBox::SubsEditBox(wxWindow *parent, agi::Context *context)
|
||||||
: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxRAISED_BORDER, "SubsEditBox")
|
: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_STATIC : wxRAISED_BORDER), "SubsEditBox")
|
||||||
, c(context)
|
, c(context)
|
||||||
, retina_helper(agi::make_unique<RetinaHelper>(parent))
|
, retina_helper(agi::make_unique<RetinaHelper>(parent))
|
||||||
, undo_timer(GetEventHandler())
|
, undo_timer(GetEventHandler())
|
||||||
|
@ -206,10 +206,10 @@ SubsEditBox::SubsEditBox(wxWindow *parent, agi::Context *context)
|
||||||
main_sizer->Add(middle_right_sizer, wxSizerFlags().Expand().Border(wxLEFT | wxRIGHT | wxBOTTOM, 3));
|
main_sizer->Add(middle_right_sizer, wxSizerFlags().Expand().Border(wxLEFT | wxRIGHT | wxBOTTOM, 3));
|
||||||
|
|
||||||
// Text editor
|
// Text editor
|
||||||
edit_ctrl = new SubsTextEditCtrl(this, wxDefaultSize, wxBORDER_SUNKEN, c);
|
edit_ctrl = new SubsTextEditCtrl(this, wxDefaultSize, (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxBORDER_SUNKEN), c);
|
||||||
edit_ctrl->Bind(wxEVT_CHAR_HOOK, &SubsEditBox::OnKeyDown, this);
|
edit_ctrl->Bind(wxEVT_CHAR_HOOK, &SubsEditBox::OnKeyDown, this);
|
||||||
|
|
||||||
secondary_editor = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN | wxTE_MULTILINE | wxTE_READONLY);
|
secondary_editor = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxDefaultSize, (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxBORDER_SUNKEN) | wxTE_MULTILINE | wxTE_READONLY);
|
||||||
// Here we use the height of secondary_editor as the initial size of edit_ctrl,
|
// Here we use the height of secondary_editor as the initial size of edit_ctrl,
|
||||||
// which is more reasonable than the default given by wxWidgets.
|
// which is more reasonable than the default given by wxWidgets.
|
||||||
// See: https://trac.wxwidgets.org/ticket/18471#ticket
|
// See: https://trac.wxwidgets.org/ticket/18471#ticket
|
||||||
|
|
|
@ -56,6 +56,17 @@
|
||||||
#include <wx/menu.h>
|
#include <wx/menu.h>
|
||||||
#include <wx/settings.h>
|
#include <wx/settings.h>
|
||||||
|
|
||||||
|
// Define macros for wxWidgets 3.1
|
||||||
|
#ifndef wxSTC_KEYMOD_CTRL
|
||||||
|
#define wxSTC_KEYMOD_CTRL wxSTC_SCMOD_CTRL
|
||||||
|
#endif
|
||||||
|
#ifndef wxSTC_KEYMOD_SHIFT
|
||||||
|
#define wxSTC_KEYMOD_SHIFT wxSTC_SCMOD_SHIFT
|
||||||
|
#endif
|
||||||
|
#ifndef wxSTC_KEYMOD_NORM
|
||||||
|
#define wxSTC_KEYMOD_NORM wxSTC_SCMOD_NORM
|
||||||
|
#endif
|
||||||
|
|
||||||
// Maximum number of languages (locales)
|
// Maximum number of languages (locales)
|
||||||
// It should be above 100 (at least 242) and probably not more than 1000
|
// It should be above 100 (at least 242) and probably not more than 1000
|
||||||
#define LANGS_MAX 1000
|
#define LANGS_MAX 1000
|
||||||
|
@ -95,17 +106,17 @@ SubsTextEditCtrl::SubsTextEditCtrl(wxWindow* parent, wxSize wsize, long style, a
|
||||||
SetStyles();
|
SetStyles();
|
||||||
|
|
||||||
// Set hotkeys
|
// Set hotkeys
|
||||||
CmdKeyClear(wxSTC_KEY_RETURN,wxSTC_SCMOD_CTRL);
|
CmdKeyClear(wxSTC_KEY_RETURN,wxSTC_KEYMOD_CTRL);
|
||||||
CmdKeyClear(wxSTC_KEY_RETURN,wxSTC_SCMOD_SHIFT);
|
CmdKeyClear(wxSTC_KEY_RETURN,wxSTC_KEYMOD_SHIFT);
|
||||||
CmdKeyClear(wxSTC_KEY_RETURN,wxSTC_SCMOD_NORM);
|
CmdKeyClear(wxSTC_KEY_RETURN,wxSTC_KEYMOD_NORM);
|
||||||
CmdKeyClear(wxSTC_KEY_TAB,wxSTC_SCMOD_NORM);
|
CmdKeyClear(wxSTC_KEY_TAB,wxSTC_KEYMOD_NORM);
|
||||||
CmdKeyClear(wxSTC_KEY_TAB,wxSTC_SCMOD_SHIFT);
|
CmdKeyClear(wxSTC_KEY_TAB,wxSTC_KEYMOD_SHIFT);
|
||||||
CmdKeyClear('D',wxSTC_SCMOD_CTRL);
|
CmdKeyClear('D',wxSTC_KEYMOD_CTRL);
|
||||||
CmdKeyClear('L',wxSTC_SCMOD_CTRL);
|
CmdKeyClear('L',wxSTC_KEYMOD_CTRL);
|
||||||
CmdKeyClear('L',wxSTC_SCMOD_CTRL | wxSTC_SCMOD_SHIFT);
|
CmdKeyClear('L',wxSTC_KEYMOD_CTRL | wxSTC_KEYMOD_SHIFT);
|
||||||
CmdKeyClear('T',wxSTC_SCMOD_CTRL);
|
CmdKeyClear('T',wxSTC_KEYMOD_CTRL);
|
||||||
CmdKeyClear('T',wxSTC_SCMOD_CTRL | wxSTC_SCMOD_SHIFT);
|
CmdKeyClear('T',wxSTC_KEYMOD_CTRL | wxSTC_KEYMOD_SHIFT);
|
||||||
CmdKeyClear('U',wxSTC_SCMOD_CTRL);
|
CmdKeyClear('U',wxSTC_KEYMOD_CTRL);
|
||||||
|
|
||||||
using std::bind;
|
using std::bind;
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include "toggle_bitmap.h"
|
#include "toggle_bitmap.h"
|
||||||
|
|
||||||
#include "command/command.h"
|
#include "command/command.h"
|
||||||
|
#include "options.h"
|
||||||
#include "tooltip_manager.h"
|
#include "tooltip_manager.h"
|
||||||
|
|
||||||
#include <wx/dcbuffer.h>
|
#include <wx/dcbuffer.h>
|
||||||
|
@ -42,7 +43,7 @@
|
||||||
#include <wx/tglbtn.h>
|
#include <wx/tglbtn.h>
|
||||||
|
|
||||||
ToggleBitmap::ToggleBitmap(wxWindow *parent, agi::Context *context, const char *cmd_name, int icon_size, const char *ht_ctx, wxSize const& size)
|
ToggleBitmap::ToggleBitmap(wxWindow *parent, agi::Context *context, const char *cmd_name, int icon_size, const char *ht_ctx, wxSize const& size)
|
||||||
: wxControl(parent, -1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER)
|
: wxControl(parent, -1, wxDefaultPosition, wxDefaultSize, (OPT_GET("App/Dark Mode")->GetBool() ? wxBORDER_SIMPLE : wxSUNKEN_BORDER))
|
||||||
, context(context)
|
, context(context)
|
||||||
, command(*cmd::get(cmd_name))
|
, command(*cmd::get(cmd_name))
|
||||||
, img(command.Icon(icon_size))
|
, img(command.Icon(icon_size))
|
||||||
|
|
6
subprojects/wxWidgets-master.wrap
Normal file
6
subprojects/wxWidgets-master.wrap
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[wrap-git]
|
||||||
|
directory = wxWidgets-master
|
||||||
|
url = https://github.com/wxWidgets/wxWidgets.git
|
||||||
|
revision = master
|
||||||
|
clone-recursive = true
|
||||||
|
depth = 1
|
|
@ -1,5 +1,6 @@
|
||||||
[wrap-git]
|
[wrap-git]
|
||||||
directory = wxWidgets
|
directory = wxWidgets
|
||||||
url = https://github.com/wxWidgets/wxWidgets.git
|
url = https://github.com/wxWidgets/wxWidgets.git
|
||||||
revision = v3.1.4
|
revision = v3.1.7
|
||||||
clone-recursive = true
|
clone-recursive = true
|
||||||
|
depth = 1
|
||||||
|
|
Loading…
Reference in a new issue