Subversion Repositories Kolibri OS

Rev

Rev 6678 | Blame | Last modification | View Log | Download | RSS feed

  1. //Leency & SoUrcerer, LGPL
  2.  
  3. char *text1[] = {"POP server adress:", "POP server port:", "SMTP server adress:", "SMTP server port:", '\0'};
  4.  
  5. dword mouse_opt;
  6. unsigned char POP_server1[128]="pop.server.com";
  7. unsigned char POP_server_port1[5]="110";
  8. unsigned char SMTP_server1[128]="smtp.server.com";
  9. unsigned char SMTP_server_port1[5]="25";
  10. edit_box POP_server_box        = {210,230,125 ,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,sizeof(POP_server1),#POP_server1,#mouse_opt,100000000000b};
  11. edit_box POP_server_port_box   = {210,230,160,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,5,#POP_server_port1,#mouse_opt,100000000000b};
  12. edit_box SMTP_server_box       = {210,230,195,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,sizeof(SMTP_server1),#SMTP_server1,#mouse_opt,100000000000b};
  13. edit_box SMTP_server_port_box  = {210,230,230,0xffffff,0x94AECE,0xffc90E,0xCACACA,0x10000000,5,#SMTP_server_port1,#mouse_opt,100000000000b};
  14.  
  15. checkbox automatic = { "Automatic configuration", true };
  16.  
  17. void SettingsDialog()
  18. {
  19.         int key, id;
  20.  
  21.         POP_server_box.size = strlen(#POP_server1);
  22.         POP_server_port_box.size = strlen(#POP_server_port1);
  23.         SMTP_server_box.size = strlen(#SMTP_server1);
  24.         SMTP_server_port_box.size = strlen(#SMTP_server_port1);
  25.  
  26.         goto _OPT_WIN;
  27.  
  28.         loop() 
  29.         {
  30.                 switch(WaitEvent())
  31.                 {
  32.                         case evMouse:
  33.                                 IF (GetProcessSlot(Form.ID)-GetActiveProcess()!=0) break;
  34.                                 edit_box_mouse stdcall(#POP_server_box);
  35.                                 edit_box_mouse stdcall(#POP_server_port_box);
  36.                                 edit_box_mouse stdcall(#SMTP_server_box);
  37.                                 edit_box_mouse stdcall(#SMTP_server_port_box);
  38.                                 break;
  39.                                
  40.                         case evButton:
  41.                                 id = GetButtonID();
  42.                                 if (id==1) SaveAndExit();
  43.                                 if (id==19) LoginBoxLoop();
  44.                                 if (automatic.click(id))
  45.                                 {
  46.                                         if (automatic.checked) {
  47.                                                 POP_server_box.flags = POP_server_box.flags = POP_server_port_box.flags = SMTP_server_box.flags = SMTP_server_port_box.flags = 100000000000b;
  48.                                                 POP_server_box.blur_border_color = POP_server_box.blur_border_color = POP_server_port_box.blur_border_color =
  49.                                                  SMTP_server_box.blur_border_color = SMTP_server_port_box.blur_border_color = 0xCACACA;
  50.                                         }
  51.                                         else {
  52.                                                 POP_server_box.flags = 0b10;
  53.                                                 POP_server_port_box.flags = SMTP_server_box.flags = SMTP_server_port_box.flags = 0b;
  54.                                                 POP_server_box.blur_border_color = POP_server_box.blur_border_color = POP_server_port_box.blur_border_color =
  55.                                                  SMTP_server_box.blur_border_color = SMTP_server_port_box.blur_border_color = 0xFFFfff;
  56.                                         }
  57.                                         DrawOptionsWindow();
  58.                                 }
  59.                                 break;
  60.                                
  61.                         case evKey:
  62.                                 GetKeys();;
  63.  
  64.                                 if (automatic.checked==true) break;
  65.                                 if (key_scancode==SCAN_CODE_TAB)
  66.                                 {
  67.                                         if (POP_server_box.flags & 0b10)       { POP_server_box.flags -= 0b10;         POP_server_port_box.flags += 0b10;  } else
  68.                                         if (POP_server_port_box.flags & 0b10)  { POP_server_port_box.flags -= 0b10;    SMTP_server_box.flags += 0b10;      } else
  69.                                         if (SMTP_server_box.flags & 0b10)      { SMTP_server_box.flags -= 0b10;        SMTP_server_port_box.flags += 0b10; } else
  70.                                         if (SMTP_server_port_box.flags & 0b10) { SMTP_server_port_box.flags -= 0b10;   POP_server_box.flags += 0b10;       } else
  71.                                                                                  POP_server_box.flags = 0b10;
  72.                                         DrawOptionsWindow();
  73.                                 }
  74.                                
  75.                                 EAX=key_ascii<<8;
  76.                                 edit_box_key stdcall(#POP_server_box);
  77.                                 edit_box_key stdcall(#POP_server_port_box);
  78.                                 edit_box_key stdcall(#SMTP_server_box);
  79.                                 edit_box_key stdcall(#SMTP_server_port_box);
  80.                                 break;
  81.  
  82.                         case evReDraw: _OPT_WIN:
  83.                                 if !(DefineWindow(OPTIONS_HEADER)) break;
  84.                                 DrawBar(0,0, Form.cwidth, Form.cheight, system.color.work);
  85.                                 DrawOptionsWindow();
  86.                                 break;
  87.                 }
  88.         }
  89. }
  90.  
  91. void DrawOptionsWindow()
  92. {
  93.         #define ELEM_X 25
  94.         int i;
  95.         incn y;
  96.         y.n=0;
  97.         DrawBar(0, Form.cheight - 40, Form.cwidth, 1, system.color.work_graph);
  98.         DrawBar(0, Form.cheight - 40+1, Form.cwidth, 1, LBUMP);
  99.         DrawCaptButton(Form.cwidth-79, Form.cheight-32, 70, 25, 19, system.color.work_button, system.color.work_button_text,"Apply");
  100.  
  101.         WriteText(ELEM_X, y.inc(20), 0x81, system.color.work_text, "Network settings");
  102.         automatic.draw(ELEM_X, y.inc(65));
  103.         EDI = system.color.work;
  104.         for (i=0; i<4; i++)     WriteText(ELEM_X+40, i*35+POP_server_box.top + 3, 0xD0, system.color.work_text, text1[i]);
  105.         DrawEditBox(#POP_server_box);
  106.         DrawEditBox(#POP_server_port_box);
  107.         DrawEditBox(#SMTP_server_box);
  108.         DrawEditBox(#SMTP_server_port_box);
  109. }