Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. //06.04.2012
  2.  
  3. path_string history_list[40];
  4. int history_num;
  5. int history_current;
  6.  
  7. #define ADD_NEW_PATH 1
  8. #define GO_BACK      2
  9. #define GO_FORWARD   3
  10.  
  11. dword GetCurrentFolder()
  12. {
  13.         char cur_fol[4096];
  14.         strcpy(#cur_fol, #path);
  15.         cur_fol[strlen(#cur_fol)-1]=0x00; //îáðåçàåì ïîñëåäíèé /
  16.         strcpy(#cur_fol, #cur_fol+strrchr(#cur_fol,'/'));
  17.         return #cur_fol;
  18. }
  19.  
  20. int HistoryPath(byte action)
  21. {
  22.         int MAX_HISTORY_NUM;
  23.        
  24.         if (action==ADD_NEW_PATH)
  25.         {
  26.                 if (history_num>0) && (!strcmp(#path,#history_list[history_current].Item)) return;
  27.                
  28.                 MAX_HISTORY_NUM = sizeof(history_list)/sizeof(path_string);
  29.                 if (history_current>=MAX_HISTORY_NUM-1)
  30.                 {
  31.                         history_current/=2;
  32.                         for (i=0; i<history_current; i++;)
  33.                         {
  34.                                 strcpy(#history_list[i].Item, #history_list[MAX_HISTORY_NUM-i].Item);
  35.                         }      
  36.                 }
  37.                 history_current++;
  38.                 strcpy(#history_list[history_current].Item, #path);
  39.                 history_num=history_current;
  40.         }
  41.        
  42.         if (action==GO_BACK)
  43.         {
  44.                 if (history_current<=2) return 0;
  45.                 history_current--;
  46.                 strcpy(#path, #history_list[history_current].Item);
  47.                 return 1;
  48.         }
  49.  
  50.         if (action==GO_FORWARD)
  51.         {
  52.                 if (history_current==history_num) return 0;
  53.                 history_current++;
  54.                 strcpy(#path, #history_list[history_current].Item);
  55.                 return 1;
  56.         }      
  57. }