Subversion Repositories Kolibri OS

Rev

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

  1. #define WIN_DIALOG_W 345
  2. #define WIN_DIALOG_H 110
  3. proc_info Dialog_Form;
  4.  
  5. progress_bar copy_bar = {0,16,49,50,20,0,0,1,0xFFFFFF,0x00FF00,0x000000};
  6.  
  7. enum {COPY_FLAG, MOVE_FLAG, DELETE_FLAG, OPERATION_END};
  8. int operation_flag;
  9.  
  10. void DisplayOperationForm()
  11. {
  12.           switch(CheckEvent())
  13.           {
  14.                  case evButton:
  15.                         notify(T_CANCEL_PASTE);
  16.                         DialogExit();
  17.                         break;
  18.                  
  19.                 case evReDraw:
  20.                         if (operation_flag==COPY_FLAG) DefineAndDrawWindow(Form.left+Form.width-200,Form.top+90,WIN_DIALOG_W,GetSkinHeight()+WIN_DIALOG_H,0x34,0xFFFFFF,T_COPY_WINDOW_TITLE);
  21.                         else if (operation_flag==MOVE_FLAG) DefineAndDrawWindow(Form.left+Form.width-200,Form.top+90,WIN_DIALOG_W,GetSkinHeight()+WIN_DIALOG_H,0x34,0xFFFFFF,T_MOVE_WINDOW_TITLE);
  22.                         else DefineAndDrawWindow(Form.left+Form.width-200,Form.top+90,WIN_DIALOG_W,GetSkinHeight()+WIN_DIALOG_H,0x34,0xFFFFFF,T_DELETE_WINDOW_TITLE);
  23.                        
  24.                         GetProcessInfo(#Dialog_Form, SelfInfo);
  25.                        
  26.                         if (operation_flag==COPY_FLAG) WriteText(45, 11, 0x80, system.color.work_text, T_COPY_WINDOW_TEXT);
  27.                         else if (operation_flag==MOVE_FLAG) WriteText(45, 11, 0x80, system.color.work_text, T_MOVE_WINDOW_TEXT);
  28.                         else WriteText(45, 11, 0x80, system.color.work_text, T_DELETE_WINDOW_TEXT);
  29.                        
  30.                         DrawFlatButton(Dialog_Form.cwidth - 96, Dialog_Form.cheight - 32, 80, 22, 10, system.color.work_button, T_ABORT_WINDOW_BUTTON);
  31.                         DrawBar(8, 10, 32, 32, 0xFFFfff);
  32.                         break;
  33.           }
  34. }
  35.  
  36. void DialogExit() {
  37.         action_buf = OPERATION_END;
  38.         ActivateWindow(GetProcessSlot(Form.ID));
  39.         ExitProcess();
  40. }
  41.  
  42.  
  43. void Operation_Draw_Progress(dword copying_filename) {
  44.         if (Dialog_Form.cwidth==0)
  45.         {
  46.                 copy_bar.value++;
  47.                 return;
  48.         }
  49.         copy_bar.width = Dialog_Form.cwidth-32;
  50.         DisplayOperationForm();
  51.         Put_icon(copying_filename+strrchr(copying_filename,'.'), 16, 19, 0xFFFfff, 0);
  52.         DrawBar(45, 29, Dialog_Form.cwidth-45, 10, 0xFFFFFF);
  53.         WriteText(45, 29, 0x80, 0x000000, copying_filename);
  54.         progressbar_draw stdcall (#copy_bar);
  55.         progressbar_progress stdcall (#copy_bar);
  56.         //copy_bar.value++;
  57.         pause(50);
  58. }