Attempt to have a default font specified from the system
This commit is contained in:
parent
e6e40cdaba
commit
ee64ae24c4
@ -22,10 +22,6 @@ StringConstMap Glob_lexer_map;
|
|||||||
PrefPane *Glob_pref_pane = nullptr;
|
PrefPane *Glob_pref_pane = nullptr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Static app loading variables
|
|
||||||
static wxArrayString files;
|
|
||||||
static int param_count;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class with main method
|
* Class with main method
|
||||||
*/
|
*/
|
||||||
@ -58,7 +54,7 @@ public:
|
|||||||
Glob_main_frame->Show(true);
|
Glob_main_frame->Show(true);
|
||||||
|
|
||||||
// Open passed files
|
// Open passed files
|
||||||
if (param_count > 0)
|
if (this->param_count > 0)
|
||||||
{
|
{
|
||||||
Glob_main_frame->OpenFiles(files);
|
Glob_main_frame->OpenFiles(files);
|
||||||
}
|
}
|
||||||
@ -105,18 +101,22 @@ public:
|
|||||||
{
|
{
|
||||||
// Get un-named parameters
|
// Get un-named parameters
|
||||||
int i;
|
int i;
|
||||||
param_count = parser.GetParamCount();
|
this->param_count = parser.GetParamCount();
|
||||||
|
|
||||||
wxLogDebug("%i Parameters", param_count);
|
wxLogDebug("%i Parameters", this->param_count);
|
||||||
|
|
||||||
for (i = 0; i < param_count; i++)
|
for (i = 0; i < this->param_count; i++)
|
||||||
{
|
{
|
||||||
files.Add(parser.GetParam(i));
|
this->files.Add(parser.GetParam(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
|
// app loading variables
|
||||||
|
wxArrayString files;
|
||||||
|
int param_count = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set up mapping for lexers
|
* Set up mapping for lexers
|
||||||
*/
|
*/
|
||||||
|
@ -25,7 +25,7 @@ ThemeConfig::~ThemeConfig() {}
|
|||||||
* @param string theme_name
|
* @param string theme_name
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
bool ThemeConfig::SetTheme(string theme_name)
|
bool ThemeConfig::SetTheme(const string &theme_name)
|
||||||
{
|
{
|
||||||
JsonValue theme_list = this->GetRoot();
|
JsonValue theme_list = this->GetRoot();
|
||||||
JsonValue selected_theme = theme_list.get(theme_name, JsonValue());
|
JsonValue selected_theme = theme_list.get(theme_name, JsonValue());
|
||||||
|
@ -10,7 +10,7 @@ class ThemeConfig : TyroConfig {
|
|||||||
public:
|
public:
|
||||||
ThemeConfig();
|
ThemeConfig();
|
||||||
~ThemeConfig();
|
~ThemeConfig();
|
||||||
bool SetTheme(string theme_name);
|
bool SetTheme(const string &theme_name);
|
||||||
JsonValue GetTheme();
|
JsonValue GetTheme();
|
||||||
JsonValue GetThemeValue(string type, string key);
|
JsonValue GetThemeValue(string type, string key);
|
||||||
wxColor GetThemeColor(string type, string key);
|
wxColor GetThemeColor(string type, string key);
|
||||||
|
@ -306,13 +306,8 @@ void EditPane::OnCharAdded(wxStyledTextEvent& event)
|
|||||||
*/
|
*/
|
||||||
void EditPane::_ApplyTheme(JsonValue &lexer_map)
|
void EditPane::_ApplyTheme(JsonValue &lexer_map)
|
||||||
{
|
{
|
||||||
// Font setup
|
// Make sure to have a default font, especially for Linux
|
||||||
wxFont defaultFont(
|
wxFont globalFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
|
||||||
TYRO_DEFAULT_FONT_SIZE,
|
|
||||||
wxFONTFAMILY_TELETYPE,
|
|
||||||
wxFONTFLAG_DEFAULT,
|
|
||||||
wxFONTWEIGHT_NORMAL
|
|
||||||
);
|
|
||||||
|
|
||||||
static const wxColor default_background = this->theme_config->GetThemeColor("background", "default");
|
static const wxColor default_background = this->theme_config->GetThemeColor("background", "default");
|
||||||
static const wxColor default_foreground = this->theme_config->GetThemeColor("foreground", "default");
|
static const wxColor default_foreground = this->theme_config->GetThemeColor("foreground", "default");
|
||||||
@ -324,22 +319,16 @@ void EditPane::_ApplyTheme(JsonValue &lexer_map)
|
|||||||
? (this->theme_config->GetThemeColor("line_numbers", "foreground"))
|
? (this->theme_config->GetThemeColor("line_numbers", "foreground"))
|
||||||
: default_foreground;
|
: default_foreground;
|
||||||
|
|
||||||
|
// Attempt to set the font according to config
|
||||||
|
Glob_config->Read("global_font", &globalFont);
|
||||||
|
|
||||||
// Set default colors/ fonts
|
// Set default colors/ fonts
|
||||||
for(int i = 0; i <= wxSTC_STYLE_MAX; i++)
|
for(int i = 0; i <= wxSTC_STYLE_MAX; i++)
|
||||||
{
|
{
|
||||||
this->StyleSetBackground(i, default_background);
|
this->StyleSetBackground(i, default_background);
|
||||||
this->StyleSetForeground(i, default_foreground);
|
this->StyleSetForeground(i, default_foreground);
|
||||||
|
|
||||||
wxFont globalFont;
|
this->StyleSetFont(i, globalFont);
|
||||||
wxString fontFace;
|
|
||||||
if ( ! Glob_config->Read("global_font", &globalFont))
|
|
||||||
{
|
|
||||||
this->StyleSetFont(i, defaultFont);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this->StyleSetFont(i, globalFont);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set up Code folding
|
// Set up Code folding
|
||||||
|
@ -103,10 +103,10 @@ void FilePane::CreateTree(const wxString &path)
|
|||||||
this->AddDirToTree(root, dirs[0], wxString(""), true);
|
this->AddDirToTree(root, dirs[0], wxString(""), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete files;
|
|
||||||
|
|
||||||
// Add files that are in the root path
|
// Add files that are in the root path
|
||||||
this->AddDirFiles(root, this->base_path);
|
this->AddDirFiles(root, this->base_path, files);
|
||||||
|
|
||||||
|
delete files;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -199,20 +199,24 @@ void FilePane::AddDirToTree(wxTreeListItem &root, const wxString &path, const wx
|
|||||||
this->AddDirToTree(dir_node, dirs[0], newParent, true);
|
this->AddDirToTree(dir_node, dirs[0], newParent, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete files;
|
|
||||||
|
|
||||||
// Add the files, if they exist
|
// Add the files, if they exist
|
||||||
// Defer until after recursion so that files follow folders
|
// Defer until after recursion so that files follow folders
|
||||||
this->AddDirFiles(dir_node, fullPath);
|
this->AddDirFiles(dir_node, fullPath, files);
|
||||||
|
|
||||||
|
delete files;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilePane::AddDirFiles(wxTreeListItem &root, const wxString &path)
|
/**
|
||||||
|
* Add the file leaves for the current file path in the tree
|
||||||
|
*
|
||||||
|
* @param wxTreeListITem &root - The branch of the tree representing the current path
|
||||||
|
* @param wxString &path - The filesystem path
|
||||||
|
* @param wxArrayString *files - The list of files
|
||||||
|
*/
|
||||||
|
void FilePane::AddDirFiles(wxTreeListItem &root, const wxString &path, wxArrayString *files)
|
||||||
{
|
{
|
||||||
wxLogInfo("Adding files for dir: %s", path);
|
wxLogInfo("Adding files for dir: %s", path);
|
||||||
|
|
||||||
auto *files = new wxArrayString();
|
|
||||||
wxDir::GetAllFiles(path, files, wxEmptyString, wxDIR_FILES);
|
|
||||||
|
|
||||||
wxFileName rootPath(path);
|
wxFileName rootPath(path);
|
||||||
rootPath.MakeAbsolute();
|
rootPath.MakeAbsolute();
|
||||||
|
|
||||||
@ -235,8 +239,6 @@ void FilePane::AddDirFiles(wxTreeListItem &root, const wxString &path)
|
|||||||
this->AppendItem(root, fileLabel, Icon_File, Icon_File, fileData);
|
this->AppendItem(root, fileLabel, Icon_File, Icon_File, fileData);
|
||||||
this->file_set.insert(std::string(fileName.GetFullPath()));
|
this->file_set.insert(std::string(fileName.GetFullPath()));
|
||||||
}
|
}
|
||||||
|
|
||||||
delete files;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,6 +25,6 @@ private:
|
|||||||
void OpenFileInEditor(wxTreeListEvent& event);
|
void OpenFileInEditor(wxTreeListEvent& event);
|
||||||
void InitImageList();
|
void InitImageList();
|
||||||
void AddDirToTree(wxTreeListItem &root, const wxString &path, const wxString &parent, bool recurse = false);
|
void AddDirToTree(wxTreeListItem &root, const wxString &path, const wxString &parent, bool recurse = false);
|
||||||
void AddDirFiles(wxTreeListItem &root, const wxString &path);
|
void AddDirFiles(wxTreeListItem &root, const wxString &path, wxArrayString *files);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -101,13 +101,16 @@ public:
|
|||||||
|
|
||||||
wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
|
wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
|
wxFont globalFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
|
||||||
|
Glob_config->Read("global_font", &globalFont);
|
||||||
|
|
||||||
this->fontPicker = new wxFontPickerCtrl(
|
this->fontPicker = new wxFontPickerCtrl(
|
||||||
this,
|
this,
|
||||||
myID_PREFS_FONT,
|
myID_PREFS_FONT,
|
||||||
this->GetFont(),
|
globalFont,
|
||||||
wxDefaultPosition,
|
wxDefaultPosition,
|
||||||
wxDefaultSize,
|
wxDefaultSize,
|
||||||
wxFNTP_FONTDESC_AS_LABEL
|
wxFNTP_FONTDESC_AS_LABEL
|
||||||
);
|
);
|
||||||
this->fontPicker->SetLabelText("Editor Font");
|
this->fontPicker->SetLabelText("Editor Font");
|
||||||
wxSizer *fontSizer = new wxBoxSizer(wxHORIZONTAL);
|
wxSizer *fontSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
@ -142,7 +145,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual bool TransferDataToWindow()
|
virtual bool TransferDataToWindow()
|
||||||
{
|
{
|
||||||
wxFont globalFont;
|
wxFont globalFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
|
||||||
Glob_config->Read("global_font", &globalFont);
|
Glob_config->Read("global_font", &globalFont);
|
||||||
|
|
||||||
this->fontPicker->SetSelectedFont(globalFont);
|
this->fontPicker->SetSelectedFont(globalFont);
|
||||||
@ -202,7 +205,7 @@ PrefPane::PrefPane()
|
|||||||
{
|
{
|
||||||
this->pref_window = new wxPreferencesEditor();
|
this->pref_window = new wxPreferencesEditor();
|
||||||
this->pref_window->AddPage(new GeneralPrefPane());
|
this->pref_window->AddPage(new GeneralPrefPane());
|
||||||
// this->pref_window->AddPage(new FontPrefPane());
|
this->pref_window->AddPage(new FontPrefPane());
|
||||||
}
|
}
|
||||||
|
|
||||||
PrefPane::~PrefPane()
|
PrefPane::~PrefPane()
|
||||||
|
Loading…
Reference in New Issue
Block a user