Changes.txt 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. 03 Sept 3
  2. ---------
  3. + Text Item Parser in CopyProperties - parses a CF_TEXT item into multiple
  4. CF_TEXT items based upon a given separator string.
  5. + CEdit m_ParseEdit
  6. + CButton m_ParseButton
  7. + void OnBnClickedParseButton()
  8. + Misc
  9. + BYTE GetEscapeChar( BYTE ch );
  10. + CString RemoveEscapes( const char* str );
  11. + CClip::AddFormat
  12. + CClipList::AddToDB( bool bLatestTime = false, bool bShowStatus = true )
  13. * CClipFormat frees m_hgData on destruction
  14. * changed CCP_MainApp::SaveAllClips to CCP_MainApp::SaveCopyClips
  15. * changed CCP_MainApp::FixTime to CClip::MakeLatestTime()
  16. ! fixed bad connect / disconnect logic in CClipboardViewer
  17. 03 Sept 2
  18. ---------
  19. * ProcessCopy - redesigned to fix the fast copy bugs.
  20. . The same source object is used for the description as is stored in the db.
  21. . Actual copying from the clipboard is (usually) not interrupted.
  22. + CClip - For managing a Clip (copy of the clipboard) as a single unit.
  23. + CCopyThread - handles copying the clipboard when the clipboard changes and
  24. safely communicating with the Main thread.
  25. + CClipboardViewer - the Clipboard Viewer window (code factored out from
  26. MainWnd)
  27. + uses AllowDuplicates (non-sequential duplicates) flag
  28. * ProcessPaste - redesigned for delayed rendering during drag and drop and
  29. immediate rendering otherwise.
  30. + uses UpdateTimeOnPaste flag
  31. + uses SaveMultiPaste flag
  32. * CCP_MainApp Copy and Paste Management
  33. + bool EnableCbCopy(bool bState); // copy clipboad when it changes
  34. + long SaveAllClips(); // saves all clips copied by CCopyThread
  35. + void ReloadTypes(); // reloads the Types Table on demand
  36. + void Delayed_RemoveOldEntries( UINT delay ); // based on timer
  37. + void RefreshView(); // refreshes the view if it is visible
  38. + void OnCopyCompleted( long lLastID, int count = 1 );
  39. + void OnPasteCompleted();
  40. + void SetStatus(char*) // for displaying status in the titlebar.
  41. + ShowPersistent: always-on-top "persistent show"
  42. . Toggled by double clicking the titlebar or <Ctrl>-<Space>
  43. + theApp.ShowPersistent( bool bVal )
  44. * required modification of Target window tracking system.
  45. * Targeting the previous focus window
  46. + CCP_MainApp::
  47. + HWND m_hTargetWnd;
  48. + HWND TargetActiveWindow();
  49. + bool ActivateTarget();
  50. + bool ReleaseFocus(); // activate the target only if we are foreground
  51. * The foreground window is tracked rather than the focus window.
  52. . I think SetFocus doesn't do anything unless the hWnd is associated
  53. with our thread's message queue.
  54. + Targeting the previous focus window is handled properly when
  55. Ditto is activated by:
  56. 1. Mouse (in CMainFrame::PreTranslateMessage) OR
  57. 2. HotKey (in CQuickPaste::ShowQPasteWnd)
  58. !! Problems with Targeting still exist when Ditto is activated by a
  59. separate application (e.g. <Alt>-<Tab> or Taskbar Tray). This may
  60. eventually be fixed by using a system hook.
  61. . See source comment preceding TargetActiveWindow() in CP_Main.cpp
  62. * Streamlined <Ctrl> 0-9 Accelerators - now handled entirely in
  63. CQListCtrl::PreTranslateMessage
  64. - removed HACCEL m_acFirstTen in CQListCtrl
  65. * WndEx
  66. ! fixed the close "x" button display
  67. + bool SetCaptionColors( COLORREF left, COLORREF right );
  68. + bool SetCaptionColorActive( bool bVal );
  69. * Startup / Shutdown
  70. + CCP_MainApp::
  71. + bool m_bAppRunning;
  72. + bool m_bAppExiting;
  73. + CMainFrame* m_pMainFrame; // for quick access
  74. + void AfterMainCreate(); // called after main window creation
  75. + void BeforeMainClose(); // called before main window close
  76. * CGetSetOptions
  77. + Accessible through new global g_Opt
  78. + Some local flag variables so that always getting from Profile (registry)
  79. is not necessary (flags loaded on construction of g_Opt).
  80. * System HotKeys - Consolidated code in order to make adding and removing
  81. HotKeys programmatically easier.
  82. + class CHotKey and CHotKeys (g_HotKeys) in Misc.h/.cpp
  83. + CCP_MainApp
  84. + CHotKey* m_pDittoHotKey; // activate ditto's qpaste window
  85. + CHotKey* m_pCopyHotKey; // named copy
  86. . HotKey Management:
  87. . Create in CCP_MainApp::AfterMainCreate()
  88. . Handle in CMainFrame::OnHotKey()
  89. . Control user input in OptionsKeyBoard.
  90. + Misc.h/.cpp
  91. + Utility functions (HGLOBAL funcs, IsAppWnd, StrF)
  92. + Debug functions (Log, SetThreadName)
  93. 03 Aug 8
  94. --------
  95. + Implemented Multi-Selection Paste for CF_TEXT clips by "\r\n" concatenation
  96. * CQPasteWnd::OnListSelect()
  97. + BOOL CProcessPaste::MultiPaste( int numIDs, int* pIDs, HWND hWnd );
  98. + BOOL CProcessPaste::MultiDrag( int numIDs, int* pIDs, HWND hWnd );
  99. + CString CProcessPaste::AggregateText(int numIDs, int* pIDs, UINT uiPastType, char* pSeparator);
  100. + bool CopyToGlobal( HGLOBAL hGlobal, LPVOID pBuf, ULONG ulBufLen )
  101. + HGLOBAL NewGlobal( LPVOID pBuf, ULONG ulBufLen )
  102. * After a delete, position caret at first item deleted.
  103. * void CQPasteWnd::DeleteSelectedRows()
  104. ! Fixed Error "query too complex" when deleting large number of Clips
  105. * void CQPasteWnd::DeleteSelectedRows()
  106. + static BOOL CMainTable::DeleteAllClips();
  107. + static BOOL CMainTable::DeleteClip( int id );
  108. + static BOOL CMainTable::DeleteClips(ARRAY &IDs); (was called DeleteRows)
  109. 03 Aug 16
  110. ---------
  111. ! Perform GlobalUnlock after memcmp.
  112. * CDataTable::DataEqual
  113. ! Fixed "random" termination.
  114. * CMainFrame::OnTimer: added breaks to cases of switch.
  115. 03 Aug 11
  116. ---------
  117. ! Fixed string error in processcopy.cpp
  118. Legend:
  119. + = added
  120. - = removed
  121. * = modified
  122. ! = fixed
  123. . = info