]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/screenshotgen/src/screenshot_main.cpp
Don't use a destroy event handler to disconnect the native control's delegate as...
[wxWidgets.git] / utils / screenshotgen / src / screenshot_main.cpp
index 0970262c1a9071d61866a156232bb933a55918a7..d7305e8266aa8bb121fdaba8334586cf1ad7e427 100644 (file)
@@ -54,15 +54,12 @@ void ScreenshotFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 
 void ScreenshotFrame::OnSeeScreenshots(wxCommandEvent& WXUNUSED(event))
 {
-    wxFileName defaultDir = wxFileName::DirName(GetDefaultDirectory());
-    defaultDir.MakeAbsolute();
+    wxString defaultDir = AutoCaptureMechanism::GetDefaultDirectoryAbsPath();
 
-    // Check if defaultDir already existed
-    if (!defaultDir.DirExists())
-        defaultDir.Mkdir();
-
-    // Use the native file browser to open defaultDir
-    wxLaunchDefaultBrowser(defaultDir.GetFullPath());
+    if (wxFileName::DirExists(defaultDir))
+        wxLaunchDefaultBrowser(defaultDir);
+    else
+        wxMessageBox(_("There isn't any screenshots yet."));
 }
 
 void ScreenshotFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
@@ -71,7 +68,7 @@ void ScreenshotFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
     info.SetName(_("Automatic Screenshot Generator"));
     info.SetVersion(_("1.0"));
     info.SetDescription(_("This utility automatically creates screenshots of wxWidgets controls for use in wxWidgets documentation."));
-    info.SetCopyright(_T("(C) 2008 Utensil Candel"));
+    info.SetCopyright(wxT("(C) 2008 Utensil Candel"));
 
     wxAboutBox(info);
 }
@@ -85,20 +82,19 @@ void ScreenshotFrame::OnCaptureFullScreen(wxCommandEvent& WXUNUSED(event))
     wxCoord screenWidth, screenHeight;
     dcScreen.GetSize(&screenWidth, &screenHeight);
 
-    const wxString fullscreen_filename = GetDefaultDirectoryAbsPath() + _T("fullscreen.png");
-
-    wxBitmap fullscreen = AutoCaptureMechanism::Capture(0, 0, screenWidth, screenHeight);
+    wxBitmap fullscreen(1, 1);
+    AutoCaptureMechanism::Capture(&fullscreen, 0, 0, screenWidth, screenHeight);
 
-    fullscreen.SaveFile(fullscreen_filename, wxBITMAP_TYPE_PNG);
+    AutoCaptureMechanism::Save(&fullscreen, wxT("fullscreen"));
 
     wxMessageBox(_("A screenshot of the entire screen was saved as:\n\n  ")
-                + fullscreen_filename,
+                + AutoCaptureMechanism::GetDefaultDirectoryAbsPath() + wxT("fullscreen.png"),
                  _("Full screen capture"), wxICON_INFORMATION|wxOK, this);
 }
 
 void ScreenshotFrame::OnCaptureAllControls(wxCommandEvent& WXUNUSED(event))
 {
-    wxString dir = GetDefaultDirectoryAbsPath();
+    wxString dir = AutoCaptureMechanism::GetDefaultDirectoryAbsPath();
 
     // check if there are other screenshots taken before
     if (wxFileName::DirExists(dir))