]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/docview.cpp
Daniel Gehriger <dgehrige@dmtsun.epfl.ch> patch for default extension filter
[wxWidgets.git] / src / common / docview.cpp
index a64026f17f9c2f7cd5b1b2ed9d9daeca1ab6ae4a..26281bef2704e43633e926d9eb2bc5f929e0dc47 100644 (file)
@@ -358,7 +358,6 @@ bool wxDocument::OnSaveModified(void)
 {
   if (IsModified())
   {
-    char buf[400];
     wxString title;
     GetPrintableName(title);
 
@@ -368,9 +367,12 @@ bool wxDocument::OnSaveModified(void)
     else
       msgTitle = wxString(_("Warning"));
 
-    sprintf(buf, _("Do you want to save changes to document %s?"), (const char *)title);
-    int res = wxMessageBox(buf, msgTitle, wxYES_NO|wxCANCEL|wxICON_QUESTION,
-      GetDocumentWindow());
+    wxString prompt;
+    prompt.Printf(_("Do you want to save changes to document %s?"),
+                  (const char *)title);
+    int res = wxMessageBox(prompt, msgTitle,
+                           wxYES_NO|wxCANCEL|wxICON_QUESTION,
+                           GetDocumentWindow());
     if (res == wxNO)
     {
       Modify(FALSE);
@@ -1003,10 +1005,9 @@ wxDocument *wxDocManager::GetCurrentDocument(void) const
 // Make a default document name
 bool wxDocManager::MakeDefaultName(wxString& name)
 {
-  char buf[256];
-  sprintf(buf, _("unnamed%d"), m_defaultDocumentNameCounter);
-  m_defaultDocumentNameCounter ++;
-  name = buf;
+  name.Printf(_("unnamed%d"), m_defaultDocumentNameCounter);
+  m_defaultDocumentNameCounter++;
+
   return TRUE;
 }
 
@@ -1043,6 +1044,7 @@ void wxDocManager::FileHistoryRemoveMenu(wxMenu *menu)
     m_fileHistory->RemoveMenu(menu);
 }
 
+#if wxUSE_CONFIG
 void wxDocManager::FileHistoryLoad(wxConfigBase& config)
 {
   if (m_fileHistory)
@@ -1054,6 +1056,7 @@ void wxDocManager::FileHistorySave(wxConfigBase& config)
   if (m_fileHistory)
     m_fileHistory->Save(config);
 }
+#endif
 
 void wxDocManager::FileHistoryAddFilesToMenu(wxMenu* menu)
 {
@@ -1141,7 +1144,7 @@ wxDocTemplate *wxDocManager::SelectDocumentPath(wxDocTemplate **WXUNUSED(templat
 {
   // We can only have multiple filters in Windows
 #ifdef __WXMSW__
-  char *descrBuf = new char[1000];
+  char *descrBuf = new char[1000];  // FIXME static buffer
   descrBuf[0] = 0;
   int i;
   for (i = 0; i < noTemplates; i++)
@@ -1255,7 +1258,7 @@ wxDocTemplate *wxDocManager::SelectViewType(wxDocTemplate **templates,
   int n = 0;
   for (i = 0; i < noTemplates; i++)
   {
-    if (templates[i]->IsVisible() && templates[i]->GetViewName())
+    if (templates[i]->IsVisible() && (templates[i]->GetViewName() != ""))
     {
       strings[n] = WXSTRINGCAST templates[i]->m_viewTypeName;
       data[n] = (char *)templates[i];
@@ -1703,7 +1706,7 @@ void wxCommandProcessor::SetMenuStrings(void)
         // we've undone to the start of the list, but can redo the first.
         wxCommand *redoCommand = (wxCommand *)m_commands.First()->Data();
         wxString redoCommandName(redoCommand->GetName());
-        if (!redoCommandName) redoCommandName = _("Unnamed command");
+        if (redoCommandName == "") redoCommandName = _("Unnamed command");
         buf = wxString(_("&Redo ")) + redoCommandName;
         m_commandEditMenu->SetLabel(wxID_REDO, buf);
         m_commandEditMenu->Enable(wxID_REDO, TRUE);
@@ -1788,8 +1791,8 @@ void wxFileHistory::AddFileToHistory(const wxString& file)
   for (i = 0; i < m_fileHistoryN; i++)
     if (m_fileHistory[i])
     {
-      char buf[400];
-      sprintf(buf, "&%d %s", i+1, m_fileHistory[i]);
+      wxString buf;
+      buf.Printf("&%d %s", i+1, m_fileHistory[i]);
       wxNode* node = m_fileMenus.First();
       while (node)
       {
@@ -1819,17 +1822,18 @@ void wxFileHistory::RemoveMenu(wxMenu *menu)
   m_fileMenus.DeleteObject(menu);
 }
 
+#if wxUSE_CONFIG
 void wxFileHistory::Load(wxConfigBase& config)
 {
   m_fileHistoryN = 0;
-  char buf[400];
-  sprintf(buf, "file%d", m_fileHistoryN+1);
-  wxString historyFile("");
+  wxString buf;
+  buf.Printf("file%d", m_fileHistoryN+1);
+  wxString historyFile;
   while ((m_fileHistoryN <= m_fileMaxFiles) && config.Read(buf, &historyFile) && (historyFile != ""))
   {
     m_fileHistory[m_fileHistoryN] = copystring((const char*) historyFile);
     m_fileHistoryN ++;
-    sprintf(buf, "file%d", m_fileHistoryN+1);
+    buf.Printf("file%d", m_fileHistoryN+1);
     historyFile = "";
   }
   AddFilesToMenu();
@@ -1845,6 +1849,7 @@ void wxFileHistory::Save(wxConfigBase& config)
     config.Write(buf, wxString(m_fileHistory[i]));
   }
 }
+#endif
 
 void wxFileHistory::AddFilesToMenu()
 {