TalkPersonalView.pas 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. unit TalkPersonalView;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, ExtCtrls, StdCtrls, Buttons, RealICQButton, RxRichEd, BaseIDView,
  6. RealICQRichEdit, cefvcl, RealICQSpeedButton, RealICQSkinFrm, InterfaceUI,
  7. ceflib;
  8. type
  9. TTalkPersonalForm = class(TBaseIDViewForm)
  10. pnlTools: TPanel;
  11. pnlMain: TPanel;
  12. pnlSide: TPanel;
  13. PnlShowHideUserInfo: TPanel;
  14. ImgHideShowUserInformation: TImage;
  15. btnQR: TRealICQSpeedButton;
  16. imgToolbarBack: TImage;
  17. spbAbout: TRealICQSpeedButton;
  18. spbAudio: TRealICQSpeedButton;
  19. spbPostSMS: TRealICQSpeedButton;
  20. spbRemoteControl: TRealICQSpeedButton;
  21. spbSendFile: TRealICQSpeedButton;
  22. spbSendFolder: TRealICQSpeedButton;
  23. spbSet: TRealICQSpeedButton;
  24. spbUploadFile: TRealICQSpeedButton;
  25. spbUserInfo: TRealICQSpeedButton;
  26. spbVideo: TRealICQSpeedButton;
  27. chrmUserInfo: TChromium;
  28. pnlDisplayer: TPanel;
  29. pnlForWebBrowser: TPanel;
  30. WebBrowser: TChromium;
  31. pnlInputer: TPanel;
  32. pnlInputeBack: TPanel;
  33. Panel1: TPanel;
  34. RichEdInputer: TRealICQRichEdit;
  35. Panel2: TPanel;
  36. lblState: TLabel;
  37. btDownArrow: TRealICQButton;
  38. btSend: TRealICQButton;
  39. btCloseTalk: TRealICQButton;
  40. pnlBar: TPanel;
  41. ImgInputerTopMiddle: TImage;
  42. spbFont: TRealICQSpeedButton;
  43. spbSelUIColor: TRealICQSpeedButton;
  44. spbBackground: TRealICQSpeedButton;
  45. spbFace: TRealICQSpeedButton;
  46. spbSendImage: TRealICQSpeedButton;
  47. spbShakeWindow: TRealICQSpeedButton;
  48. spbCopyScreen: TRealICQSpeedButton;
  49. spbNormalMsg: TRealICQSpeedButton;
  50. spbHistroyMessage: TRealICQSpeedButton;
  51. Splitter1: TSplitter;
  52. procedure FormShow(Sender: TObject);
  53. procedure WebBrowserKeyEvent(Sender: TObject; const browser: ICefBrowser;
  54. const event: PCefKeyEvent; osEvent: PMsg; out Result: Boolean);
  55. private
  56. { Private declarations }
  57. protected
  58. procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
  59. public
  60. end;
  61. var
  62. TalkPersonalForm: TTalkPersonalForm;
  63. implementation
  64. uses
  65. ConditionConfig, ViewManager, DevToolChromeFrm;
  66. {$R *.dfm}
  67. { TTalkPersonalForm }
  68. procedure TTalkPersonalForm.FormShow(Sender: TObject);
  69. begin
  70. inherited;
  71. WebBrowser.Options.WebSecurity := STATE_DISABLED;
  72. WebBrowser.Options.FileAccessFromFileUrls := STATE_DISABLED;
  73. if TConditionConfig.GetConfig.RemoteUI then
  74. WebBrowser.Load(TConditionConfig.GetConfig.RemoteUIHost + '\talkview\index.html');
  75. end;
  76. procedure TTalkPersonalForm.WebBrowserKeyEvent(Sender: TObject;
  77. const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg;
  78. out Result: Boolean);
  79. begin
  80. if TConditionConfig.GetConfig.Dev and (event^.windows_key_code = VK_F12) then
  81. ShowDevTool(Self, Sender as TChromium);
  82. end;
  83. procedure TTalkPersonalForm.WMWindowPosChanging(
  84. var Message: TWMWindowPosChanging);
  85. begin
  86. if WebBrowser.Browser <> nil then
  87. begin
  88. WebBrowser.Browser.Host.NotifyMoveOrResizeStarted;
  89. if chrmUserInfo.Browser <> nil then
  90. chrmUserInfo.Browser.Host.NotifyMoveOrResizeStarted;
  91. end;
  92. inherited;
  93. end;
  94. initialization
  95. TViewManager.Current.RegisterClass(TTalkPersonalForm);
  96. end.