Develop and Download Open Source Software

Browse CVS Repository

Diff of /malonnote/mnModel.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.24 by maloninc, Fri Sep 16 04:12:58 2005 UTC revision 1.27 by maloninc, Fri Oct 7 12:49:26 2005 UTC
# Line 65  bool mnModel::makeSearchToken(const char Line 65  bool mnModel::makeSearchToken(const char
65                  tokenList[i] = (char*)malloc(strlen(token)+1);                  tokenList[i] = (char*)malloc(strlen(token)+1);
66                  snprintf(tokenList[i], strlen(token)+1, "%s", token);                  snprintf(tokenList[i], strlen(token)+1, "%s", token);
67                  i++;                  i++;
68                    if(i >= MAX_TOKEN) break;
69          }          }
70          return true;          return true;
71  }  }
# Line 114  WikiList* mnModel::search(const char* se Line 115  WikiList* mnModel::search(const char* se
115          WikiData*   wikiData;          WikiData*   wikiData;
116      WikiList*   list = new WikiList();      WikiList*   list = new WikiList();
117      wxString*   fileName = new wxString();      wxString*   fileName = new wxString();
118          char*       tokenList[32];          char*       tokenList[MAX_TOKEN];
119    
120          memset(tokenList, 0, sizeof(char*)*32);          memset(tokenList, 0, sizeof(char*)*MAX_TOKEN);
121          if( makeSearchToken(searchStr, tokenList) == false) return list;          if( makeSearchToken(searchStr, tokenList) == false) return list;
122    
123          dir = new wxDir(*wikiDataDir);          dir = new wxDir(*wikiDataDir);
# Line 463  WikiData::WikiData(wxString* dataDir, wx Line 464  WikiData::WikiData(wxString* dataDir, wx
464  }  }
465    
466  WikiData::WikiData(wxString* dataDir) {  WikiData::WikiData(wxString* dataDir) {
467            FILE*      fp;
468          time_t     now;          time_t     now;
469          char       buf[MAX_BUF_SIZE];          char       buf[MAX_BUF_SIZE];
470          wxCSConv    conv(wxT(CODE_SET_SYSTEM));          char       fname[MAX_BUF_SIZE];
471            char       templateBuf[MAX_BUF_SIZE];
472            char*      inbufPtr;
473            int        inbufSize;
474            char       outbuf[MAX_BUF_SIZE];
475            char*      outbufPtr;
476            int        outbufSize;
477            wxCSConv   conv(wxT(CODE_SET_SYSTEM));
478    
479          dataDirName = new wxString(dataDir->mb_str(), conv);          dataDirName = new wxString(dataDir->mb_str(), conv);
480    
# Line 481  WikiData::WikiData(wxString* dataDir) { Line 490  WikiData::WikiData(wxString* dataDir) {
490          memset(buf, 0, sizeof(buf));          memset(buf, 0, sizeof(buf));
491          strftime(buf, sizeof(buf), DATE_TAG "%Y/%m/%d %H:%M:%S",localtime(&now));          strftime(buf, sizeof(buf), DATE_TAG "%Y/%m/%d %H:%M:%S",localtime(&now));
492          date    = new wxString(buf, conv);          date    = new wxString(buf, conv);
493    
494            /* try to open template file */
495            snprintf(fname, sizeof(fname), "%s/%s", (const char*)(dataDir->mb_str()), NEW_DATA_TEMPLATE);
496            fp = fopen(fname, "r");
497            if(fp == NULL){
498                    memset(buf, 0, sizeof(buf));
499                    strftime(buf, sizeof(buf), NEW_DATA,localtime(&now));
500            }
501            else {
502                    memset(buf, 0, sizeof(buf));
503                    memset(templateBuf, 0, sizeof(templateBuf));
504                    memset(outbuf, 0, sizeof(outbuf));
505                    fread(templateBuf, sizeof(templateBuf), 1, fp);
506                    
507          memset(buf, 0, sizeof(buf));                  iconv_t codeSet = iconv_open(CODE_SET_SYSTEM, CODE_SET_EUC_JP);
508          strftime(buf, sizeof(buf), NEW_DATA,localtime(&now));                  if(codeSet == (iconv_t)-1) {
509                            MN_FATAL_ERROR(wxT("failed iconv_open"));
510                    }
511                    inbufPtr = templateBuf;
512                outbufPtr = outbuf;
513                    inbufSize = strlen(templateBuf);
514                    outbufSize = sizeof(outbuf);
515                    iconv(codeSet, (ICONV_CONST char**)&inbufPtr, (size_t*)&inbufSize, &outbufPtr, (size_t*)&outbufSize);
516                    
517                    strftime(buf, sizeof(buf), outbuf,localtime(&now));
518    
519            }
520          text    = new wxString(buf, conv);          text    = new wxString(buf, conv);
521    
522            if(fp) fclose(fp);
523  }  }
524    
525  WikiData::~WikiData()  WikiData::~WikiData()
# Line 513  const wxString* WikiData::getOldSubject( Line 547  const wxString* WikiData::getOldSubject(
547          return oldSubject;          return oldSubject;
548  }  }
549    
550    void WikiData::setOldSubjectFromCurrent()
551    {
552            oldSubject = new wxString(*subject);
553    }
554    
555  void WikiData::modSubject(wxString* newSubject)  void WikiData::modSubject(wxString* newSubject)
556  {  {
557          wxCSConv    conv(wxT(CODE_SET_SYSTEM));          wxCSConv    conv(wxT(CODE_SET_SYSTEM));
# Line 673  void WikiData::save() Line 712  void WikiData::save()
712          outbufSize = sizeof(outbuf);          outbufSize = sizeof(outbuf);
713          memset(outbuf, 0, outbufSize);          memset(outbuf, 0, outbufSize);
714          iconv(codeSet, (ICONV_CONST char**)&inbufPtr, (size_t*)&inbufSize, &outbufPtr, (size_t*)&outbufSize);          iconv(codeSet, (ICONV_CONST char**)&inbufPtr, (size_t*)&inbufSize, &outbufPtr, (size_t*)&outbufSize);
715            if(inbufSize != 0) { // iconv error
716                    wxMessageBox(wxT("Fail to save, because this memo include KISHU-IZON-MOJI.\nPlease remove KISHU-IZON-MOJI, and try again"), wxT("Fail to save"), wxOK|wxICON_WARNING);
717            }
718          fwrite(outbuf, sizeof(outbuf)-outbufSize, 1, fp);          fwrite(outbuf, sizeof(outbuf)-outbufSize, 1, fp);
719          fclose(fp);          fclose(fp);
720          iconv_close(codeSet);          iconv_close(codeSet);

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.27

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26