Reduce use of globals, tweak about dialog
This commit is contained in:
parent
b927dad749
commit
e43ccaf9a3
@ -138,7 +138,12 @@ private:
|
||||
Glob_lexer_map["properties"] = wxSTC_LEX_PROPERTIES;
|
||||
Glob_lexer_map["python"] = wxSTC_LEX_PYTHON;
|
||||
Glob_lexer_map["ruby"] = wxSTC_LEX_RUBY;
|
||||
#ifdef wxSTC_LEX_RUST
|
||||
Glob_lexer_map["rust"] = wxSTC_LEX_RUST;
|
||||
#endif
|
||||
#ifndef wxSTC_LEX_RUST
|
||||
Glob_lexer_map["rust"] = wxSTC_LEX_CPP;
|
||||
#endif
|
||||
Glob_lexer_map["scheme"] = wxSTC_LEX_LISP;
|
||||
Glob_lexer_map["shell"] = wxSTC_LEX_BASH;
|
||||
Glob_lexer_map["sql"] = wxSTC_LEX_SQL;
|
||||
@ -155,8 +160,8 @@ private:
|
||||
wxSystemOptions::SetOption("osx.openfiledialog.always-show-types", 1);
|
||||
#endif
|
||||
|
||||
#ifdef __WXMSW_
|
||||
wxSystemOptions::SetOption("msw.remap", 0);_
|
||||
#ifdef __WXMSW__
|
||||
wxSystemOptions::SetOption("msw.remap", 0);
|
||||
wxSystemOptions::SetOption("msw.display.directdraw", 1);
|
||||
#endif
|
||||
}
|
||||
|
@ -3,8 +3,6 @@
|
||||
#include "src/widgets/FilePane.h"
|
||||
#include "src/widgets/MainFrame.h"
|
||||
|
||||
extern MainFrame *Glob_main_frame;
|
||||
|
||||
auto DIR_SEP = wxFileName::GetPathSeparator();
|
||||
|
||||
enum
|
||||
@ -253,7 +251,10 @@ void FilePane::OpenFileInEditor(wxTreeListEvent& event)
|
||||
|
||||
wxString path_arr [1] = { path };
|
||||
auto files = wxArrayString(1, *path_arr);
|
||||
Glob_main_frame->OpenFiles(files);
|
||||
|
||||
// Use the parent accessor to get the main frame
|
||||
auto parent = (MainFrame *)this->GetParent();
|
||||
parent->OpenFiles(files);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -12,7 +12,7 @@ static FilePane *filePane = nullptr;
|
||||
extern PrefPane *Glob_pref_pane;
|
||||
|
||||
|
||||
// Frame icon
|
||||
// Frame icon (const static char *tyro_icon[])
|
||||
#include "resources/xpm/tyro.xpm"
|
||||
|
||||
/**
|
||||
@ -48,9 +48,6 @@ MainFrame::MainFrame(wxFrame *frame, const wxString &title, const wxSize &size)
|
||||
MainFrame::~MainFrame()
|
||||
{
|
||||
wxLogDebug("Main Frame Destructor Called.");
|
||||
//delete notebook;
|
||||
//delete toolBar;
|
||||
//delete filePane;
|
||||
|
||||
wxDELETE(this->findDlg);
|
||||
wxDELETE(this->findData);
|
||||
@ -311,6 +308,7 @@ void MainFrame::OnOpenFolder(wxCommandEvent &event)
|
||||
*/
|
||||
void MainFrame::OpenFiles(wxArrayString filelist)
|
||||
{
|
||||
// @TODO skip duplicated files
|
||||
int listcount = filelist.GetCount();
|
||||
|
||||
if (listcount < 1) return;
|
||||
@ -447,7 +445,7 @@ void MainFrame::OnAbout(wxCommandEvent &WXUNUSED(event))
|
||||
info.SetName(APP_NAME);
|
||||
info.SetVersion(APP_VERSION, APP_VERSION_MORE);
|
||||
|
||||
info.AddDeveloper("Tim Warren");
|
||||
info.AddDeveloper("Timothy J. Warren");
|
||||
info.AddArtist("Brian Smith: Main icon");
|
||||
|
||||
#ifndef __WXGTK__
|
||||
@ -457,15 +455,15 @@ void MainFrame::OnAbout(wxCommandEvent &WXUNUSED(event))
|
||||
wxString desc = "Tyro, a text editor for all development\n\n"
|
||||
"System info: \n";
|
||||
|
||||
desc += wxString::Format("\tArchitecture: %s\n",
|
||||
desc += wxString::Format("%s\n",
|
||||
wxPlatformInfo::GetArchName(plat_info.GetArchitecture()));
|
||||
|
||||
desc += wxString::Format("\tOperating System:\n\t\t%s %i.%i\n",
|
||||
desc += wxString::Format("%s %i.%i\n",
|
||||
wxPlatformInfo::GetOperatingSystemIdName(plat_info.GetOperatingSystemId()),
|
||||
plat_info.GetOSMajorVersion(),
|
||||
plat_info.GetOSMinorVersion());
|
||||
|
||||
desc += wxString::Format("\nwxWidgets version: %s %i.%i.%i\n",
|
||||
desc += wxString::Format("%s %i.%i.%i\n",
|
||||
plat_info.GetPortIdName(),
|
||||
wxMAJOR_VERSION,
|
||||
wxMINOR_VERSION,
|
||||
@ -477,10 +475,9 @@ void MainFrame::OnAbout(wxCommandEvent &WXUNUSED(event))
|
||||
wxString desk = plat_info.GetDesktopEnvironment();
|
||||
if (desk != "")
|
||||
{
|
||||
desc += wxString::Format("\tDesktop Environment:%s\n", desk);
|
||||
desc += wxString::Format("%s\n", desk);
|
||||
}
|
||||
|
||||
desc += "\tDistro: ";
|
||||
desc += dist_info.Description;
|
||||
|
||||
if (dist_info.CodeName != "")
|
||||
@ -489,6 +486,12 @@ void MainFrame::OnAbout(wxCommandEvent &WXUNUSED(event))
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( ! info.HasIcon())
|
||||
{
|
||||
wxIcon appIcon = wxIcon(tyro_icon);
|
||||
info.SetIcon(appIcon);
|
||||
}
|
||||
|
||||
info.SetDescription(desc);
|
||||
|
||||
info.SetCopyright(" (C) 2015-2019");
|
||||
@ -704,7 +707,13 @@ void MainFrame::OnLangSelect(wxCommandEvent &event)
|
||||
{
|
||||
auto *selectedMenu = (wxMenu *) event.GetEventObject();
|
||||
auto *langMenu = Glob_menu_bar->GetMenu(myLANG_MENU);
|
||||
if (langMenu == nullptr) wxLogDebug("Couldn't get lang menu");
|
||||
if (langMenu == nullptr)
|
||||
{
|
||||
wxLogDebug("Couldn't get lang menu");
|
||||
// Go to the more specific event handlers
|
||||
event.Skip(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (selectedMenu == langMenu)
|
||||
{
|
||||
|
@ -8,11 +8,6 @@
|
||||
extern TyroMenu *Glob_menu_bar;
|
||||
extern wxStatusBar *Glob_status_bar;
|
||||
|
||||
static MainFrame *parentFrame = nullptr;
|
||||
|
||||
static vector<EditPane *> editors;
|
||||
static unsigned long untitled_document_count = 0;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -30,8 +25,6 @@ TabContainer::TabContainer(
|
||||
long style
|
||||
) : wxAuiNotebook(parent, id, pos, size, style)
|
||||
{
|
||||
parentFrame = (MainFrame *) parent;
|
||||
|
||||
this->Bind(wxEVT_AUINOTEBOOK_PAGE_CLOSE, &TabContainer::OnClose, this, wxID_ANY);
|
||||
this->Bind(wxEVT_AUINOTEBOOK_PAGE_CLOSED, &TabContainer::OnClosed, this, wxID_ANY);
|
||||
this->Bind(wxEVT_AUINOTEBOOK_TAB_RIGHT_DOWN, &TabContainer::OnTabContextMenu, this, wxID_ANY);
|
||||
@ -63,11 +56,11 @@ EditPane* TabContainer::NewEditor()
|
||||
*/
|
||||
void TabContainer::AddTab()
|
||||
{
|
||||
untitled_document_count++;
|
||||
this->untitled_document_count++;
|
||||
|
||||
wxString caption;
|
||||
|
||||
caption.Printf("Untitled %lu", untitled_document_count);
|
||||
caption.Printf("Untitled %lu", this->untitled_document_count);
|
||||
|
||||
this->AddPage(this->NewEditor(), caption, true);
|
||||
}
|
||||
@ -176,6 +169,7 @@ void TabContainer::OnClosed(wxAuiNotebookEvent &WXUNUSED(event))
|
||||
{
|
||||
if (this->GetPageCount() == 0)
|
||||
{
|
||||
auto parentFrame = (MainFrame *)this->GetParent();
|
||||
parentFrame->EnableEditControls(false);
|
||||
Glob_status_bar->SetStatusText("", STATUS_CURSOR_LOCATION);
|
||||
Glob_status_bar->SetStatusText("", STATUS_CURRENT_LANGUAGE);
|
||||
@ -206,6 +200,7 @@ void TabContainer::OnTabContextMenu(wxAuiNotebookEvent &WXUNUSED(event))
|
||||
void TabContainer::OnCloseAll(wxCommandEvent &WXUNUSED(event))
|
||||
{
|
||||
this->DeleteAllPages();
|
||||
auto parentFrame = (MainFrame *)this->GetParent();
|
||||
parentFrame->EnableEditControls(false);
|
||||
}
|
||||
|
||||
@ -263,4 +258,4 @@ void TabContainer::OnTabSwitch(wxAuiNotebookEvent &event)
|
||||
|
||||
// Update status bar
|
||||
Glob_status_bar->SetStatusText(editor->GetCurrentLang(), STATUS_CURRENT_LANGUAGE);
|
||||
}
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ public:
|
||||
void OnCloseAll(wxCommandEvent &event);
|
||||
void OnCloseAllButThis(wxCommandEvent &event);
|
||||
private:
|
||||
unsigned long untitled_document_count = 0;
|
||||
EditPane *NewEditor();
|
||||
void OnTabSwitch(wxAuiNotebookEvent &event);
|
||||
void OnClose(wxAuiNotebookEvent &event);
|
||||
|
Loading…
Reference in New Issue
Block a user