From ac18b4889b34316f91be3e2926336c5dd69acffd Mon Sep 17 00:00:00 2001 From: Niels Martin Hansen Date: Fri, 12 Jun 2009 16:59:53 +0000 Subject: [PATCH] Add super secret WITH_STARTUPLOG define, if enabled it causes insane amounts of message box spam during startup. Currently only implemented on Windows and should be disabled for almost all conceivable purposes. Originally committed to SVN as r3051. --- aegisub/src/frame_main.cpp | 39 ++++++++++++++++++++++++++++++++++++++ aegisub/src/main.cpp | 12 ++---------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/aegisub/src/frame_main.cpp b/aegisub/src/frame_main.cpp index 2e4bc43ed..d4119056d 100644 --- a/aegisub/src/frame_main.cpp +++ b/aegisub/src/frame_main.cpp @@ -82,12 +82,20 @@ #endif + +#ifdef WITH_STARTUPLOG +#define StartupLog(a) MessageBox(0, a, _T("Aegisub startup log"), 0) +#else +#define StartupLog(a) +#endif + ///////////////////////// // FrameMain constructor FrameMain::FrameMain (wxArrayString args) : wxFrame ((wxFrame*)NULL,-1,_T(""),wxDefaultPosition,wxSize(920,700),wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN) { + StartupLog(_T("Entering FrameMain constructor")); #ifdef __WXGTK__ /* XXX HACK XXX * Gtk just got initialized. And if we're using the SCIM IME, @@ -102,6 +110,7 @@ FrameMain::FrameMain (wxArrayString args) // Set application's frame AegisubApp::Get()->frame = this; + StartupLog(_T("Create log window")); LogWindow = new wxLogWindow(this, _T("Aegisub log window"), false); // Initialize flags @@ -110,24 +119,31 @@ FrameMain::FrameMain (wxArrayString args) blockAudioLoad = false; blockAudioLoad = false; + StartupLog(_T("Install PNG handler")); // Create PNG handler wxPNGHandler *png = new wxPNGHandler; wxImage::AddHandler(png); // Storage for subs-file-local scripts #ifdef WITH_AUTOMATION + StartupLog(_T("Create local Automation script manager")); local_scripts = new Automation4::ScriptManager(); #endif // Create menu and tool bars + StartupLog(_T("Apply saved Maximized state")); if (Options.AsBool(_T("Maximized"))) Maximize(true); + StartupLog(_T("Initialize toolbar")); InitToolbar(); + StartupLog(_T("Initialize menu bar")); InitMenu(); // Create status bar + StartupLog(_T("Create status bar")); CreateStatusBar(2); // Set icon + StartupLog(_T("Set icon")); SetIcon(wxICON(wxicon)); // Contents @@ -135,7 +151,9 @@ FrameMain::FrameMain (wxArrayString args) showAudio = true; detachedVideo = NULL; stylingAssistant = NULL; + StartupLog(_T("Initialize inner main window controls")); InitContents(); + StartupLog(_T("Display main window")); Show(); // Splash screen @@ -153,6 +171,7 @@ FrameMain::FrameMain (wxArrayString args) wxSafeYield(); // Set autosave timer + StartupLog(_T("Set up Auto Save")); AutoSave.SetOwner(this,AutoSave_Timer); int time = Options.AsInt(_T("Auto save every seconds")); if (time > 0) { @@ -160,19 +179,24 @@ FrameMain::FrameMain (wxArrayString args) } // Set accelerator keys + StartupLog(_T("Install hotkeys")); PreviousFocus = NULL; SetAccelerators(); // Set drop target + StartupLog(_T("Set up drag/drop target")); SetDropTarget(new AegisubFileDropTarget(this)); // Parse arguments + StartupLog(_T("Initialize empty file")); LoadSubtitles(_T("")); + StartupLog(_T("Load files specified on command line")); LoadList(args); // Version checker // Fails on non-Windows platforms with a crash #ifdef __WXMSW__ + StartupLog(_T("Possibly perform automatic updates check")); int option = Options.AsInt(_T("Auto check for updates")); if (option == -1) { int result = wxMessageBox(_("Do you want Aegisub to check for updates whenever it starts? You can still do it manually via the Help menu."),_("Check for updates?"),wxYES_NO); @@ -188,6 +212,7 @@ FrameMain::FrameMain (wxArrayString args) #endif //ShowFullScreen(true,wxFULLSCREEN_NOBORDER | wxFULLSCREEN_NOCAPTION); + StartupLog(_T("Leaving FrameMain constructor")); } @@ -527,41 +552,51 @@ void FrameMain::InitMenu() { // Initialize contents void FrameMain::InitContents() { // Set a background panel + StartupLog(_T("Create background panel")); Panel = new wxPanel(this,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL | wxCLIP_CHILDREN); // Initialize sizers + StartupLog(_T("Create main sizers")); MainSizer = new wxBoxSizer(wxVERTICAL); TopSizer = new wxBoxSizer(wxHORIZONTAL); BottomSizer = new wxBoxSizer(wxHORIZONTAL); // Video area; + StartupLog(_T("Create video box")); videoBox = new VideoBox(Panel, false); TopSizer->Add(videoBox,0,wxEXPAND,0); videoBox->videoDisplay->zoomBox = ZoomBox; // Subtitles area + StartupLog(_T("Create subtitles grid")); SubsBox = new SubtitlesGrid(this,Panel,-1,wxDefaultPosition,wxSize(600,100),wxWANTS_CHARS | wxSUNKEN_BORDER,_T("Subs grid")); BottomSizer->Add(SubsBox,1,wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM,0); + StartupLog(_T("Reset undo stack")); AssFile::StackReset(); videoBox->videoSlider->grid = SubsBox; VideoContext::Get()->grid = SubsBox; + StartupLog(_T("Reset video zoom")); videoBox->videoDisplay->SetZoomPos(Options.AsInt(_T("Video Default Zoom"))); Search.grid = SubsBox; // Audio area + StartupLog(_T("Create audio box")); audioBox = new AudioBox(Panel); audioBox->frameMain = this; VideoContext::Get()->audio = audioBox->audioDisplay; // Top sizer + StartupLog(_T("Create subtitle editing box")); EditBox = new SubsEditBox(Panel,SubsBox); EditBox->audio = audioBox->audioDisplay; + StartupLog(_T("Arrange controls in sizers")); ToolSizer = new wxBoxSizer(wxVERTICAL); ToolSizer->Add(audioBox,0,wxEXPAND | wxBOTTOM,5); ToolSizer->Add(EditBox,1,wxEXPAND,5); TopSizer->Add(ToolSizer,1,wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM,5); // Set sizers/hints + StartupLog(_T("Arrange main sizers")); MainSizer->Add(new wxStaticLine(Panel),0,wxEXPAND | wxALL,0); MainSizer->Add(TopSizer,0,wxEXPAND | wxALL,0); MainSizer->Add(BottomSizer,1,wxEXPAND | wxALL,0); @@ -570,9 +605,13 @@ void FrameMain::InitContents() { //SetSizer(MainSizer); // Set display + StartupLog(_T("Set display mode")); SetDisplayMode(0,0); + StartupLog(_T("Perform layout")); Layout(); + StartupLog(_T("Set focus to edting box")); EditBox->TextEdit->SetFocus(); + StartupLog(_T("Leaving InitContents")); } diff --git a/aegisub/src/main.cpp b/aegisub/src/main.cpp index 2940c2ec9..dfa5d081b 100644 --- a/aegisub/src/main.cpp +++ b/aegisub/src/main.cpp @@ -76,16 +76,8 @@ IMPLEMENT_APP(AegisubApp) -#if 0 -void StartupLog(const wxString &msg) { - static wxStopWatch clock; - wxString nmsg = wxString::Format(_T("Startup: %d - %s\n"), clock.Time(), msg.c_str()); -#ifdef WIN32 - OutputDebugStringW(nmsg.wc_str()); -#else - printf(nmsg.mb_str(wxConvLocal)); -#endif -} +#ifdef WITH_STARTUPLOG +#define StartupLog(a) MessageBox(0, a, _T("Aegisub startup log"), 0) #else #define StartupLog(a) #endif