Subversion Repositories Kolibri OS

Rev

Rev 7658 | Rev 7878 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. #define WIN_DIALOG_W 380
  3. #define WIN_DIALOG_H 100
  4. #define PR_LEFT 14
  5. #define PR_TOP  32
  6. #define PR_W  WIN_DIALOG_W-PR_LEFT-PR_LEFT
  7. #define PR_H  18
  8.  
  9. proc_info Dialog_Form;
  10. progress_bar copy_bar = {0,PR_LEFT,PR_TOP,PR_W,PR_H,0,0,1,0xFFFFFF,0x00FF00,0x555555};
  11. //sensor copying = {PR_LEFT,PR_TOP,WIN_DIALOG_W-PR_LEFT-PR_LEFT,19};
  12.  
  13. int operation_flag;
  14. enum {
  15.         COPY_FLAG,
  16.         MOVE_FLAG,
  17.         DELETE_FLAG,
  18.         OPERATION_END
  19. };
  20.  
  21. void DisplayOperationForm()
  22. {
  23.         dword title;
  24.         if (operation_flag==COPY_FLAG) {
  25.                 title = T_COPY_WINDOW_TITLE;
  26.                 copy_bar.progress_color = 0x00FF00;
  27.         }
  28.         else if (operation_flag==MOVE_FLAG) {
  29.                 title = T_MOVE_WINDOW_TITLE;
  30.                 copy_bar.progress_color = 0x00FF00;
  31.         }
  32.         else if (operation_flag==DELETE_FLAG) {
  33.                 title = T_DELETE_WINDOW_TITLE;
  34.                 copy_bar.progress_color = 0xF17A65;
  35.         }
  36.         copy_bar.frame_color = sc.work_graph;
  37.         switch(CheckEvent())
  38.         {
  39.                  case evButton:
  40.                         notify(T_CANCEL_PASTE);
  41.                         DialogExit();
  42.                         break;
  43.                        
  44.                 case evReDraw:
  45.                         DefineAndDrawWindow(Form.left+Form.width-200,Form.top+90,WIN_DIALOG_W+9,skin_height+WIN_DIALOG_H,0x34,sc.work,title,0);
  46.                         GetProcessInfo(#Dialog_Form, SelfInfo);
  47.                         DrawCaptButton(WIN_DIALOG_W-PR_LEFT-101, PR_TOP+PR_H+6, 100,26, 2,
  48.                                 sc.button, sc.button_text, T_ABORT_WINDOW_BUTTON);
  49.  
  50.                         DrawRectangle3D(PR_LEFT-1, PR_TOP-1, PR_W+1, PR_H+1, sc.work_dark, sc.work_light);
  51.                         //copying.draw_wrapper();
  52.         }
  53. }
  54.  
  55. void DialogExit() {
  56.         action_buf = OPERATION_END;
  57.         ActivateWindow(GetProcessSlot(Form.ID));
  58.         ExitProcess();
  59. }
  60.  
  61. void Operation_Draw_Progress(dword filename) {
  62.         if (Dialog_Form.cwidth==0)
  63.         {
  64.                 copy_bar.value++;
  65.                 return;
  66.         }
  67.         DisplayOperationForm();
  68.         DrawBar(PR_LEFT, PR_TOP-20, WIN_DIALOG_W-PR_LEFT, 15, sc.work);
  69.         WriteText(PR_LEFT, PR_TOP-20, 0x90, sc.work_text, filename);
  70.  
  71.         progressbar_draw stdcall (#copy_bar);
  72.         progressbar_progress stdcall (#copy_bar);
  73.         //copy_bar.value++;
  74.         //pause(1);
  75.         //copying.draw_progress(copy_bar.value*copying.w/copy_bar.max, copy_bar.value, copy_bar.max-copy_bar.value, "");
  76.  
  77.         WriteTextWithBg(PR_LEFT, PR_TOP+PR_H+5, 0xD0, sc.work_text,
  78.                 sprintf(#param, "%i/%i", copy_bar.value, copy_bar.max), sc.work);
  79. }