Răsfoiți Sursa

- Handle fast scrolling better, out of order loads
- build script added, change history log text

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@627 595ec19a-5cb4-439b-94a8-42fb3063c22c

sabrogden 14 ani în urmă
părinte
comite
58730e0962
3 a modificat fișierele cu 84 adăugiri și 7 ștergeri
  1. 58 2
      DittoSetup/BuildDitto.bld
  2. 5 4
      QPasteWnd.cpp
  3. 21 1
      QPasteWndThread.cpp

+ 58 - 2
DittoSetup/BuildDitto.bld

@@ -1,6 +1,11 @@
 <?xml version='1.0' encoding='utf-8'?>
 <project version='7' encrypted='1'>
 	<steps type='0'>
+		<step action='Set Macro'>
+			<MacroName>LOGFILE</MacroName>
+			<MacroValue>%workDir%\%branch%\Log.txt</MacroValue>
+			<name>Default Log File</name>
+		</step>
 		<step action='Group'>
 			<name>Project steps</name>
 		</step>
@@ -205,6 +210,10 @@ DittoSetup*]]></X>
 			<indent type='3'>1</indent>
 			<name>Zip Debug Files</name>
 		</step>
+		<step action='Group'>
+			<indent type='3'>1</indent>
+			<name>Create Web Page</name>
+		</step>
 		<step action='Write File'>
 			<Filename>%workDir%\%branch%\DittoSetup\output\index.php</Filename>
 			<Text><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
@@ -229,14 +238,61 @@ DittoSetup*]]></X>
 <br>
 <a href="DittoDebug_%versionFileName%.7z">Ditto Debug Files</a><br>
 <a href="DittoSource_%versionFileName%.zip">Ditto Source</a><br>
+<a href="changes.php">Change Log</a><br>
 
-<br><br>
+<br>
 
 <a href="AllFiles.php">Previouse Builds</a><br>
+<br>
+
 </body>]]></Text>
-			<indent type='3'>1</indent>
+			<indent type='3'>2</indent>
 			<name>Beta web page</name>
 		</step>
+		<step action='Set Macro'>
+			<MacroName>LOGFILE</MacroName>
+			<MacroValue>%workDir%\%branch%\DittoSetup\output\changes.php</MacroValue>
+			<indent type='3'>2</indent>
+			<name>Log Changes to File</name>
+			<nologging type='11'>-1</nologging>
+		</step>
+		<step action='Subversion'>
+			<Files>%branch%</Files>
+			<Host>ditto-cp.svn.sourceforge.net</Host>
+			<LocalPath>%workDir%</LocalPath>
+			<Password encrypted='1'>MM3MPOs8MuGmarG4tqE=</Password>
+			<Port>443</Port>
+			<Protocol>https</Protocol>
+			<Repository>/svnroot/ditto-cp</Repository>
+			<SVNPath>C:\Program Files (x86)\Subversion\bin</SVNPath>
+			<Subcommand>log</Subcommand>
+			<Switches>-r {2012-1-5}:{2012-12-31}</Switches>
+			<Username>sabrogden</Username>
+			<indent type='3'>2</indent>
+			<name>SVN Log Messages</name>
+		</step>
+		<step action='Set Macro'>
+			<MacroName>LOGFILE</MacroName>
+			<MacroValue>%workDir%\%branch%\Log.txt</MacroValue>
+			<indent type='3'>2</indent>
+			<name>Default Log File</name>
+			<nologging type='11'>-1</nologging>
+		</step>
+		<step action='Replace in File'>
+			<FileIn>%workDir%\%branch%\DittoSetup\output\changes.php</FileIn>
+			<Find>Starting Build.*--------------------</Find>
+			<NoModS type='11'>-1</NoModS>
+			<indent type='3'>2</indent>
+			<name>Replace "Starting Build"</name>
+		</step>
+		<step action='Replace in File'>
+			<FileIn>%workDir%\%branch%\DittoSetup\output\changes.php</FileIn>
+			<Find>\r\n</Find>
+			<NoModS type='11'>-1</NoModS>
+			<Replace><![CDATA[<br>\r\n]]></Replace>
+			<indent type='3'>2</indent>
+			<name><![CDATA[Replace Line Feeds with <br>]]></name>
+		</step>
 		<step action='FTP'>
 			<Ext>*.*</Ext>
 			<Filename>%workDir%\%branch%\DittoSetup\output\</Filename>

+ 5 - 4
QPasteWnd.cpp

@@ -2579,7 +2579,8 @@ void CQPasteWnd::GetDispInfo(NMHDR *pNMHDR, LRESULT *pResult)
 					ATL::CCritSecLock csLock(m_CritSection.m_sect);
 
                     int c = m_lstHeader.GetItemCount();
-					if((int)m_listItems.size() > pItem->iItem)
+					if((int)m_listItems.size() > pItem->iItem &&
+						m_listItems[pItem->iItem].m_lID > 0)
                     {
                         CString cs;
                         if(m_listItems[pItem->iItem].m_bDontAutoDelete)
@@ -2628,13 +2629,13 @@ void CQPasteWnd::GetDispInfo(NMHDR *pNMHDR, LRESULT *pResult)
 								addToLoadItems = false;
 								break;
 							}
-						}
-
-						//Log(StrF(_T("DrawItem index %d, add: %d"), pItem->iItem, addToLoadItems));
+						}						
 
                         if(addToLoadItems)
                         {
                             CPoint loadItem(pItem->iItem, (m_lstHeader.GetTopIndex() + m_lstHeader.GetCountPerPage() + 2));
+
+							//Log(StrF(_T("DrawItem index %d, add: %d"), loadItem.x, loadItem.y));
                             m_loadItems.push_back(loadItem);
                         }
 

+ 21 - 1
QPasteWndThread.cpp

@@ -121,6 +121,7 @@ void CQPasteWndThread::OnLoadItems(void *param)
 			{
 				Log(StrF(_T("Load Items start = %d, count = %d"), loadItemsIndex, loadItemsCount));
 
+				int pos = loadItemsIndex;
 				CString limit;
 				limit.Format(_T(" LIMIT %d OFFSET %d"), loadItemsCount, loadItemsIndex);
 				localSql += limit;
@@ -135,7 +136,25 @@ void CQPasteWndThread::OnLoadItems(void *param)
 					{
 						ATL::CCritSecLock csLock(pasteWnd->m_CritSection.m_sect);
 
-						pasteWnd->m_listItems.push_back(table);
+						if(pos < pasteWnd->m_listItems.size())
+						{
+							pasteWnd->m_listItems[pos] = table;
+						}
+						else if(pos == pasteWnd->m_listItems.size())
+						{
+							pasteWnd->m_listItems.push_back(table);
+						}
+						else if(pos > pasteWnd->m_listItems.size())
+						{
+							for(int toAdd = pasteWnd->m_listItems.size(); toAdd < pos-1; toAdd++)
+							{
+								CMainTable empty;
+								empty.m_lID = -1;
+								pasteWnd->m_listItems.push_back(empty);
+							}
+
+							pasteWnd->m_listItems.push_back(table);
+						}						
 					}
 
 					if(pasteWnd->m_bStopQuery)
@@ -153,6 +172,7 @@ void CQPasteWndThread::OnLoadItems(void *param)
 
 					loadItemsIndex++;
 					loadCount++;
+					pos++;
 				}
 
 				if(firstLoad)