• R/O
  • SSH
  • HTTPS

gsfinder-uni-rc: 提交


Commit MetaInfo

修订版4 (tree)
时间2009-11-10 03:01:07
作者goriponsoft

Log Message

GSFinder+ for W-ZERO3から反映させた修正内容は以下の通りです。日付は、GSFinder+ for W-ZERO3における修正日となっています。

2007/08/06
・画面の縦横切り替え後にステータスバー/アドレスバーのサイズがおかしくなる点を修正
・ユーザーパスの登録で末尾に'\'を付けるとメニューで正常に表示されなくなっていたのを修正
・WindowsMobile非対応部分を対応するように修正(※メニューの不完全部分を修正)

2007/08/18
・ファイル表示のアイコンの整列でソートの比較処理が一部うまく動いていなかったのを修正

2007/08/20
・内部での座標の取り扱いに誤り(符号の有無)があったので修正

2007/09/02
・フォルダ表示側で「コピー」「切り取り」を行った場合にコピー中の総ファイル数表示がおかしくなっていたのを修正
・フォルダ表示の「マイポケットPC」上で「コピー」「切り取り」が正常に動作していなかったので選択できないように修正

2007/09/04
・オプション設定の「ファイルの種類」およびファイルメニューの「プログラムの選択」で発生していた不正処理に対処

2007/09/09
・フォルダ表示で[クリア]または[BS]キーを押すと1回の操作で2階層上に移動してしまっていたのを修正
・検索ダイアログから抜けた後ファイル表示にフォーカスが移るよう修正

2007/09/16
・WS007SHにおいて「詳細」表示でファイル名の幅を狭くしすぎると次回起動時に落ちていたのを修正

2007/12/26
・「すべて選択」の後に「フォルダにコピー」を行った場合にハングアップする場合があったのを修正

2007/12/27
・機能していなかった[F2]/[F6]キー関連の無駄なコードを削除(※マクロPOCKETPCが定義済の場合のみ)
・フォルダコピーでのハングアップバグ修正に不完全な部分があったので再修正

2008/01/07
・ファイルの圧縮で不正な書庫が作成されていたのを修正
・オプション画面の「ファイルの種類」で処理に時間が掛かる場合にはウェイトカーソルを表示するよう修正

2008/01/14
・アドレスバーのプルダウンリストの余計な開閉を抑制するよう修正
・アドレスバーに入力したパス文字列の大小文字が実際のパスと違っていた場合にフォルダ表示が更新されなかったのを修正
・「お気に入りに追加」を行うと追加した項目に"~へのショートカット"が付く場合があったのを修正
・フォルダ表示から「お気に入りに追加」を行った場合にメニューへの反映が行われていなかったのを修正

2008/01/20
・縦横画面切り替え時にファイル表示で選択しているファイルが隠れてしまうことがあったのを修正
・オプション設定の「ファイルの種類」で「新しい拡張子の作成」ダイアログを開くとそれ以降画面をタップしないと操作が継続できなかったのを修正

2008/05/23
・フォルダ内のファイルの合計容量が2GBを超えた場合にステータスバーの表示がマイナス値になってしまっていたのを修正
・リストビューアイコンの遅延読み込みがうまく動作していなかったのを修正

2008/07/02
・ファイル日時表示の処理内に日時の文字列を格納するバッファのサイズを誤って指定していた部分があったのを修正
・ユーザーパス登録画面でタップ&ホールドのアニメーションが出せてしまっていたのを修正

2008/11/24
・アドレスバーに入力されたパスの末尾に'\'が付いていると上層フォルダへの移動がうまく行われなかったのを修正

更改概述

差异

--- trunk/exe/FolderDlgPPC.cpp (revision 3)
+++ trunk/exe/FolderDlgPPC.cpp (revision 4)
@@ -87,7 +87,7 @@
8787
8888 SHINITDLGINFO shidi;
8989 shidi.dwMask = SHIDIM_FLAGS;
90- shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN;
90+ shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
9191 shidi.hDlg = hDlg;
9292 SHInitDialog(&shidi);
9393
--- trunk/exe/GSFinder.h (revision 3)
+++ trunk/exe/GSFinder.h (revision 4)
@@ -101,6 +101,9 @@
101101 #define REG_KEY_RECENT _T("Software\\GreenSoftware\\GSFinder+\\Settings\\Recent")
102102 //ADD END
103103
104+#define GET_X_LPARAM(lp) ((int)(signed short)LOWORD(lp))
105+#define GET_Y_LPARAM(lp) ((int)(signed short)HIWORD(lp))
106+
104107 //ADD START TODA (PocketPCのキー判定対処)
105108 #ifdef __POCKET_PC
106109 #define GET_KEYSTATE GetKeyState
@@ -143,7 +146,7 @@
143146 DWORD GetIMStatus();
144147 #endif
145148
146- void SetFormatSize(DWORD dwSize, TCHAR szBuff[64], LPTSTR lpszFmtKB, LPTSTR lpszFmtMB);
149+ void SetFormatSize(LONGLONG dwSize, TCHAR szBuff[64], LPTSTR lpszFmtKB, LPTSTR lpszFmtMB);
147150 LPCTSTR GetRootName(); //ADD TODA
148151 int AddRootIcon(HIMAGELIST hImageList); //ADD TODA
149152 HFONT MyCreateFont(int, BYTE, LPTSTR); //ADD TODA
--- trunk/exe/ListView.h (revision 3)
+++ trunk/exe/ListView.h (revision 4)
@@ -148,7 +148,7 @@
148148 LISTITEMINFO* m_lpliinfo;
149149 TCHAR m_szFolderFrom[MAX_PATH];
150150
151- UINT m_nFileSize;
151+ LONGLONG m_nFileSize;
152152
153153 //メニュー
154154 HMENU m_hMenuPopup;
@@ -193,15 +193,16 @@
193193 void OnSelEndOK();
194194 void OnColumnClick(NMLISTVIEW*);
195195
196- void MainWindowReset(LPCTSTR, int); //ADD TODA
196+ void MainWindowReset(LPCTSTR, LONGLONG); //ADD TODA
197197 void LoadFolderReset(LPCTSTR); //ADD TODA
198198 void LoadFolderSearch(LPCTSTR); //ADD TODA
199199 void LoadFolderFiles(LPCTSTR, BOOL); //ADD TODA
200200 void LoadFolderItem(LPCTSTR lpszPath, BOOL bTVUpdate = TRUE); //MOD TODA
201+ void InitFolderItem(LPCTSTR lpszPath);
201202 void LoadFolderItemSub(LPCTSTR); //ADD TODA
202203 void SelectFile(LPCTSTR); //ADD TODA
203- void AddFolderItemSub(LPCTSTR, LPCTSTR, DWORD, FILETIME, DWORD, UINT*, BOOL); //ADD TODA
204- void AddFolderItem(WIN32_FIND_DATA*, LPCTSTR, UINT*, BOOL bSelect=FALSE); //MOD TODA
204+ void AddFolderItemSub(LPCTSTR, LPCTSTR, DWORD, FILETIME, DWORD, LONGLONG*, BOOL); //ADD TODA
205+ void AddFolderItem(WIN32_FIND_DATA*, LPCTSTR, LONGLONG*, BOOL bSelect=FALSE); //MOD TODA
205206 void ComFileOpen(LPCTSTR); //ADD TODA
206207
207208 HMENU GetOpenAppSubMenu1(); //ADD TODA
@@ -238,8 +239,8 @@
238239 void OnFileRename();
239240 void OnEditCopyFileName();
240241 void OnEditCopyFilePath();
241- void OnEditCut();
242- void OnEditCopy();
242+ void OnEditCut(LPCWCH lpszFolderFrom = NULL);
243+ void OnEditCopy(LPCWCH lpszFolderFrom = NULL);
243244 void OnEditPaste(BOOL bUpdate = TRUE); //MOD TODA
244245 void OnEditSelectSwitch();
245246 void OnEditPasteShortcut(BOOL bUpdate = TRUE); //MOD TODA
--- trunk/exe/FileImageList.cpp (revision 3)
+++ trunk/exe/FileImageList.cpp (revision 4)
@@ -95,7 +95,6 @@
9595 ///////////////////////////////////////////////////////////////
9696 void CFileImageList::Destroy()
9797 {
98-
9998 while (!m_IndexBuff.IsEmpty())
10099 {
101100 IMAGELISTINDEX* pIndex = (IMAGELISTINDEX*)m_IndexBuff.RemoveAt(0);
@@ -104,6 +103,7 @@
104103 }
105104 ImageList_RemoveAll(m_hImageList);
106105 ImageList_Destroy(m_hImageList);
106+ m_hImageList = NULL;
107107 }
108108
109109 ///////////////////////////////////////////////////////////////
--- trunk/exe/FileProperty.cpp (revision 3)
+++ trunk/exe/FileProperty.cpp (revision 4)
@@ -208,7 +208,7 @@
208208 {
209209 FileTimeToLocalFileTime(&ftCreate, &ftCreate);
210210 FileTimeToSystemTime(&ftCreate, &st);
211- SetFormatDateTime(&st, szTime, sizeof(szTime)); //MOD TODA
211+ SetFormatDateTime(&st, szTime, 64); //MOD TODA
212212 wsprintf(szTemp, _T("%s"), szTime);
213213 SetWindowText(GetDlgItem(hDlg, IDC_FILE_CREATE_TIME), szTemp);
214214 }
@@ -221,7 +221,7 @@
221221 {
222222 FileTimeToLocalFileTime(&ftUpdate, &ftUpdate);
223223 FileTimeToSystemTime(&ftUpdate, &st);
224- SetFormatDateTime(&st, szTime, sizeof(szTime)); //MOD TODA
224+ SetFormatDateTime(&st, szTime, 64); //MOD TODA
225225 wsprintf(szTemp, _T("%s"), szTime);
226226 SetWindowText(GetDlgItem(hDlg, IDC_FILE_WRITE_TIME), szTemp);
227227 }
--- trunk/exe/CommandBandsPPC.cpp (revision 3)
+++ trunk/exe/CommandBandsPPC.cpp (revision 4)
@@ -39,6 +39,12 @@
3939 }
4040 break;
4141 }
42+ case WM_CHAR:
43+ //(プルダウンリストの余計な開閉を抑制)
44+ if (wParam == VK_RETURN)
45+ if (!SendMessage(g_MainWnd.m_CmdBands.m_hComboBox, CB_GETDROPPEDSTATE, 0, 0))
46+ return 0;
47+ break;
4248 default:
4349 break;
4450 }
--- trunk/exe/Compress.cpp (revision 3)
+++ trunk/exe/Compress.cpp (revision 4)
@@ -298,6 +298,11 @@
298298
299299 } //End of for
300300
301+ //ファイルリスト末尾の空白を削除(UnZip/UnLhaで不正な書庫が作成されるのを防ぐ)
302+ TCHAR *tc;
303+ while (*(tc = _tcsrchr(lpszPath, _T('\0')) - 1) == _T(' '))
304+ *tc = _T('\0');
305+
301306 //圧縮
302307 // BOOL bRtn = RunCompress((bAutoUnComp?szCurrentFolder:szEditPath), lpszPath, nCompDLL, bMoveDir);
303308 BOOL bRtn = RunCompress(szCurrentFolder, lpszPath, nCompDLL, bMoveDir);
--- trunk/exe/resource.h (revision 3)
+++ trunk/exe/resource.h (revision 4)
@@ -1,6 +1,6 @@
11 //{{NO_DEPENDENCIES}}
2-// Microsoft eMbedded Visual C++ generated include file.
3-// Used by GSFinder_PPCe.rc
2+// Microsoft Visual C++ generated include file.
3+// Used by GSFinder_WM2003.rc
44 //
55 #define IDR_MAINFRAME 100
66 #define IDB_MENU 101
--- trunk/exe/GSFinder.cpp (revision 3)
+++ trunk/exe/GSFinder.cpp (revision 4)
@@ -706,7 +706,7 @@
706706 if (hFocus == g_MainWnd.m_TreeView.m_hWnd)
707707 {
708708 DWORD dwPos = GetMessagePos();
709- g_MainWnd.m_TreeView.OnRClick(LOWORD(dwPos), HIWORD(dwPos), TRUE);
709+ g_MainWnd.m_TreeView.OnRClick(GET_X_LPARAM(dwPos), GET_Y_LPARAM(dwPos), TRUE);
710710 }
711711 break;
712712 //Enterキー押下
@@ -878,10 +878,10 @@
878878 SetCapture(hWnd);
879879 g_bMoving = TRUE;
880880 if(g_MainWnd.m_bViewSide) {
881- g_nStartPos = LOWORD(lParam);
881+ g_nStartPos = GET_X_LPARAM(lParam);
882882 g_nLastWidth = g_MainWnd.m_nTreeViewWidth;
883883 } else {
884- g_nStartPos = HIWORD(lParam);
884+ g_nStartPos = GET_Y_LPARAM(lParam);
885885 g_nLastHeight = g_MainWnd.m_nTreeViewHeight;
886886 }
887887 break;
@@ -890,7 +890,7 @@
890890 if (g_bMoving)
891891 g_MainWnd.OnMouseMove(lParam, g_nStartPos, g_nLastWidth, g_nLastHeight);
892892 if(g_bDraging) {
893- POINT pt={LOWORD(lParam), HIWORD(lParam)};
893+ POINT pt = {GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)};
894894 g_MainWnd.OnMouseMove(pt);
895895 }
896896 break;
@@ -953,7 +953,7 @@
953953 #ifdef __POCKET_PC
954954 SHINITDLGINFO shidi;
955955 shidi.dwMask = SHIDIM_FLAGS;
956- shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN;
956+ shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
957957 shidi.hDlg = hDlg;
958958 SHInitDialog(&shidi);
959959
@@ -1321,6 +1321,16 @@
13211321 DWORD dwStyle = GetWindowLong(hwndChild, GWL_STYLE) | TCS_BOTTOM;
13221322 ::SetWindowLong(hwndChild, GWL_STYLE, dwStyle);
13231323 }
1324+ //空のメニューバーを追加(WindowsMobile非対応部分への対処)
1325+ SHMENUBARINFO mbi;
1326+ memset(&mbi, 0, sizeof(SHMENUBARINFO));
1327+ mbi.cbSize = sizeof(SHMENUBARINFO);
1328+ mbi.hwndParent = hwndDlg;
1329+ //mbi.nToolBarId = 0;
1330+ mbi.hInstRes = g_hInst;
1331+ //mbi.nBmpId = 0;
1332+ //mbi.cBmpImages = 0;
1333+ SHCreateMenuBar(&mbi);
13241334 break;
13251335 }
13261336 case PSCB_GETVERSION:
@@ -1411,7 +1421,7 @@
14111421 }
14121422
14131423 //////////////////////////////////////////////////////////////////////////////////////
1414-void SetFormatSize(DWORD dwSize, TCHAR szBuff[64], LPTSTR lpszFmtKB, LPTSTR lpszFmtMB)
1424+void SetFormatSize(LONGLONG dwSize, TCHAR szBuff[64], LPTSTR lpszFmtKB, LPTSTR lpszFmtMB)
14151425 {
14161426 double fSize;
14171427 TCHAR szSize[64];
--- trunk/exe/CopyDlg.cpp (revision 3)
+++ trunk/exe/CopyDlg.cpp (revision 4)
@@ -220,6 +220,10 @@
220220 return 0;
221221 }
222222
223+ //上層フォルダへの移動の項目を無視(全て選択→コピーでハングアップする問題への対処)
224+ if (pct->m_lpliinfo[i].nItem == LIST_ITEM_UPPER)
225+ continue;
226+
223227 //ADD START TODA
224228 //表示の更新
225229 TCHAR szTemp[MAX_PATH+4];
--- trunk/exe/FileSearch.cpp (revision 3)
+++ trunk/exe/FileSearch.cpp (revision 4)
@@ -592,7 +592,7 @@
592592 #ifdef __POCKET_PC
593593 SHINITDLGINFO shidi;
594594 shidi.dwMask = SHIDIM_FLAGS;
595- shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN;
595+ shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
596596 shidi.hDlg = m_hWnd;
597597 SHInitDialog(&shidi);
598598 #endif
--- trunk/exe/ListView.cpp (revision 3)
+++ trunk/exe/ListView.cpp (revision 4)
@@ -102,7 +102,7 @@
102102 #ifdef __POCKET_PC
103103 SHINITDLGINFO shidi;
104104 shidi.dwMask = SHIDIM_FLAGS;
105- shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN;
105+ shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
106106 shidi.hDlg = hDlg;
107107 SHInitDialog(&shidi);
108108 #else
@@ -557,7 +557,7 @@
557557
558558 //ADD START TODA
559559 ///////////////////////////////////////////////////////////////
560-void CListView::MainWindowReset(LPCTSTR lpszPath, int nAllSize)
560+void CListView::MainWindowReset(LPCTSTR lpszPath, LONGLONG nAllSize)
561561 {
562562 TCHAR szTemp[MAX_PATH];
563563
@@ -578,7 +578,7 @@
578578
579579 SetFormatInteger(szTemp, 64);
580580 wsprintf(szItemCount, IDS_FMT_OBJECTSCOUNT, szTemp);
581- wsprintf(szTemp, _T("%d"), nAllSize);
581+ wsprintf(szTemp, _T("%I64d"), nAllSize);
582582 SetFormatInteger(szTemp, 64);
583583 wsprintf(szAllSize, IDS_FMT_TOTALBYTES, szTemp);
584584 g_MainWnd.m_StatusWnd.SetTwoPaneText(szItemCount, szAllSize);
@@ -620,7 +620,7 @@
620620 void CListView::LoadFolderReset(LPCTSTR lpszPath)
621621 {
622622 //アイテム数、サイズのカウント
623- UINT nAllSize = 0;
623+ LONGLONG nAllSize = 0;
624624
625625 //ファイルの読み込み
626626 TCHAR szTemp[MAX_PATH];
@@ -657,7 +657,7 @@
657657 g_MainWnd.m_StatusWnd.SetSimpleText(szTemp);
658658
659659 //アイテム数、サイズのカウント
660- UINT nAllSize = 0;
660+ LONGLONG nAllSize = 0;
661661
662662 //アイテムの削除
663663 DeleteAllItem();
@@ -738,7 +738,7 @@
738738 m_lpHistory = m_lpHistoryCurrent;
739739
740740 //アイテム数、サイズのカウント
741- UINT nAllSize = 0;
741+ LONGLONG nAllSize = 0;
742742
743743 //アイテムの削除
744744 DeleteAllItem();
@@ -844,6 +844,22 @@
844844 }
845845
846846 ///////////////////////////////////////////////////////////////
847+//(WS007SHにおいて「詳細」表示でファイル名の幅を狭くしすぎると次回起動時に落ちていた問題への対処)
848+void CListView::InitFolderItem(LPCTSTR lpszPath)
849+{
850+ DisableUpdateNotify();
851+
852+ //検索処理の場合
853+ if(0 == wcscmp(lpszPath, SEARCH_FOLDER_NAME))
854+ LoadFolderSearch(lpszPath);
855+ else
856+ LoadFolderFiles(lpszPath, TRUE);
857+
858+ SetUpdateNotify(lpszPath);
859+ EnableUpdateNotify();
860+}
861+
862+///////////////////////////////////////////////////////////////
847863 void CListView::LoadFolderItemSub(LPCTSTR lpszPath)
848864 {
849865 //再描画停止
@@ -856,7 +872,7 @@
856872 m_dwUpperParam = NULL;
857873
858874 //アイテム数、サイズのカウント用
859- UINT nAllSize = 0;
875+ LONGLONG nAllSize = 0;
860876
861877 //ファイルの読み込み
862878 WIN32_FIND_DATA finddata;
@@ -928,7 +944,7 @@
928944
929945 //ADD START TODA (AddFolderItem()より処理移動)
930946 ///////////////////////////////////////////////////////////////
931-void CListView::AddFolderItemSub(LPCTSTR lpszPath, LPCTSTR lpszName, DWORD dwAttr, FILETIME ft, DWORD dwSize, UINT* lpAllSize, BOOL bSelect)
947+void CListView::AddFolderItemSub(LPCTSTR lpszPath, LPCTSTR lpszName, DWORD dwAttr, FILETIME ft, DWORD dwSize, LONGLONG* lpAllSize, BOOL bSelect)
932948 {
933949 if (FILE_ATTRIBUTE_DIRECTORY == (dwAttr & FILE_ATTRIBUTE_DIRECTORY))
934950 {
@@ -1025,7 +1041,7 @@
10251041 //ADD END
10261042
10271043 ///////////////////////////////////////////////////////////////
1028-void CListView::AddFolderItem(WIN32_FIND_DATA *finddata, LPCTSTR lpszPath, UINT* lpAllSize, BOOL bSelect)
1044+void CListView::AddFolderItem(WIN32_FIND_DATA *finddata, LPCTSTR lpszPath, LONGLONG* lpAllSize, BOOL bSelect)
10291045 {
10301046 //MDD START TODA (AddFolderItemSub()の呼び出しに変更)
10311047 if(finddata->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
@@ -1286,6 +1302,9 @@
12861302 ///////////////////////////////////////////////////////////////
12871303 void CListView::OnViewUpFolder()
12881304 {
1305+ //パス末尾の区切り文字を削除(パスの末尾に'\'が付いていると上層フォルダへの移動がうまく行われなかった問題への対処)
1306+ for (LPTSTR lpszTemp = _tcsrchr(m_szCurrentFolder, _T('\0')) - 1; *lpszTemp == _T('\\'); *lpszTemp-- = _T('\0'));
1307+
12891308 // TCHAR szPath[MAX_PATH] = _T(""); //DEL TODA (from GSFinder ver.1.99)
12901309 if (wcscmp(m_szCurrentFolder, _T(""))!=0)
12911310 {
@@ -1755,6 +1774,7 @@
17551774 {
17561775 int i = 0;
17571776 int nIndex = GetSelectedItemIndex(0);
1777+ ZeroMemory(lpListItemComp, sizeof(LISTITEMINFO)*nCount);//(全て選択→コピーでハングアップする問題への対処)
17581778 while (nIndex != -1)
17591779 {
17601780 LISTITEMCOMP* plic = GetListItemStruct(nIndex);
@@ -1910,7 +1930,7 @@
19101930 }
19111931 //ADD END
19121932 ////////////////////////////////////////////////////////////////
1913-void CListView::OnEditCut()
1933+void CListView::OnEditCut(LPCWCH lpszFolderFrom)
19141934 {
19151935 //切り取り
19161936 int nCount = GetValidAndSelectedCount();
@@ -1926,7 +1946,7 @@
19261946 LISTITEMINFO* pliinfo = new LISTITEMINFO[nCount];
19271947 MakeSelectedItemsStrings(pliinfo, nCount);
19281948
1929- wcscpy(m_szFolderFrom, m_szCurrentFolder);
1949+ wcscpy(m_szFolderFrom, lpszFolderFrom? lpszFolderFrom: m_szCurrentFolder);
19301950
19311951 m_lpliinfo = pliinfo;
19321952 m_nCount = nCount;
@@ -1955,7 +1975,7 @@
19551975 }
19561976 }
19571977 ////////////////////////////////////////////////////////////////
1958-void CListView::OnEditCopy()
1978+void CListView::OnEditCopy(LPCWCH lpszFolderFrom)
19591979 {
19601980 //コピー
19611981 if (m_lpliinfo)
@@ -1971,7 +1991,7 @@
19711991 LISTITEMINFO* pliinfo = new LISTITEMINFO[nCount];
19721992 MakeSelectedItemsStrings(pliinfo, nCount);
19731993
1974- wcscpy(m_szFolderFrom, m_szCurrentFolder);
1994+ wcscpy(m_szFolderFrom, lpszFolderFrom? lpszFolderFrom: m_szCurrentFolder);
19751995
19761996 m_lpliinfo = pliinfo;
19771997 m_nCount = nCount;
@@ -1979,11 +1999,7 @@
19791999
19802000 g_MainWnd.m_CmdBands.SetEnableEditPaste(TRUE);
19812001
1982- for (int i=0; i<ListView_GetItemCount(m_hWnd); i++)
1983- {
1984- if (ListView_GetItemState(m_hWnd, i, LVIS_SELECTED)==LVIS_SELECTED)
1985- ListView_SetItemState(m_hWnd, i, 0, LVIS_CUT);
1986- }
2002+ ListView_SetItemState(m_hWnd, -1, 0, LVIS_CUT);
19872003 }
19882004 }
19892005 ////////////////////////////////////////////////////////////////
@@ -2595,6 +2611,9 @@
25952611 //メニューのハンドル取得
25962612 HMENU hSubMenu = GetFavoritesSubMenu();
25972613
2614+ //メニュー削除
2615+ DeleteFavoritesMenu();
2616+
25982617 //メニュー作成
25992618 InitFavoritesSubMenu(hSubMenu, g_MainWnd.m_szFavoritesPath);
26002619 }
@@ -2799,8 +2818,10 @@
27992818 return ID_FAVORITES_ADD;
28002819 else if (lpnkd->wVKey == 'U' && (GET_KEYSTATE(VK_CONTROL)&0x8000))
28012820 return ID_TOOL_USERPATH;
2821+#ifndef __POCKET_PC
28022822 else if (lpnkd->wVKey == VK_F2)
28032823 return ID_FILE_RENAME;
2824+#endif
28042825 else if (lpnkd->wVKey == VK_F3)
28052826 return ID_EDIT_FILESEARCH;
28062827 else if (lpnkd->wVKey == VK_F4)
@@ -2807,11 +2828,13 @@
28072828 return ID_TOOL_OPTION;
28082829 else if (lpnkd->wVKey == VK_F5)
28092830 return ID_VIEW_UPDATE;
2831+#ifndef __POCKET_PC
28102832 else if (lpnkd->wVKey == VK_F6)
28112833 {
28122834 if (g_MainWnd.m_CmdBands.m_Settings.bShowAddressBar)
28132835 SetFocus(g_MainWnd.m_CmdBands.m_hComboBox);
28142836 }
2837+#endif
28152838 else if ((lpnkd->wVKey == 'M' && (GET_KEYSTATE(VK_CONTROL)&0x8000)) ||
28162839 (lpnkd->wVKey == VK_CONTROL && (GET_KEYSTATE(VK_MENU)&0x8000)))
28172840 {
@@ -2985,10 +3008,7 @@
29853008 if (lpnmdi->item.mask & LVIF_IMAGE)
29863009 {
29873010 if (lplic->nIcon == -1)
2988- //MOD START TODA
2989-// lpnmdi->item.iImage = m_pFileImageList->GetImageListIndex(lplic->lpszName, m_szCurrentFolder, lplic->dwAttr);
2990- lpnmdi->item.iImage = m_pFileImageList->GetImageListIndex(lplic->lpszName, lplic->lpszPath, lplic->dwAttr);
2991- //MOD END
3011+ lpnmdi->item.iImage = lplic->nIcon = m_pFileImageList->GetImageListIndex(lplic->lpszName, lplic->lpszPath, lplic->dwAttr);
29923012 else
29933013 lpnmdi->item.iImage = lplic->nIcon;
29943014 }
@@ -3120,8 +3140,8 @@
31203140 LVHITTESTINFO lv_ht;
31213141 memset(&lv_ht, 0x00, sizeof(lv_ht));
31223142 lv_ht.flags = LVHT_ONITEM;
3123- lv_ht.pt.x = LOWORD(dwPos);
3124- lv_ht.pt.y = HIWORD(dwPos);
3143+ lv_ht.pt.x = GET_X_LPARAM(dwPos);
3144+ lv_ht.pt.y = GET_Y_LPARAM(dwPos);
31253145 int nIndex = ListView_HitTest(m_hWnd, &lv_ht);
31263146 if(ListView_GetItemState(m_hWnd, nIndex, LVIS_SELECTED)!=LVIS_SELECTED)
31273147 m_nSelectItem = 0;
@@ -3428,8 +3448,8 @@
34283448 {
34293449 DWORD dwPos = GetMessagePos();
34303450 POINT pt;
3431- pt.x = LOWORD(dwPos);
3432- pt.y = HIWORD(dwPos);
3451+ pt.x = GET_X_LPARAM(dwPos);
3452+ pt.y = GET_Y_LPARAM(dwPos);
34333453 // ScreenToClient(m_hWnd, &pt);
34343454 HMENU hMenu;
34353455 hMenu = GetSubMenu(m_hMenuPopup, 4);
@@ -3552,8 +3572,11 @@
35523572 //お気に入りのディレクトリへ移動
35533573 wcscpy(m_szCurrentFolder, g_MainWnd.m_szFavoritesPath);
35543574
3555- //ショートカットの貼り付け
3575+ //ショートカットの貼り付け(追加した項目に"〜へのショートカット"が付く場合があった問題への対処)
3576+ BOOL bTemp = m_Settings.bNotShortcutName;
3577+ m_Settings.bNotShortcutName = TRUE;
35563578 OnEditPasteShortcut(FALSE);
3579+ m_Settings.bNotShortcutName = bTemp;
35573580
35583581 //選択の解除
35593582 ListView_SetItemState(m_hWnd, -1, 0, LVIS_SELECTED);
@@ -3571,7 +3594,7 @@
35713594 OnViewUpdate(g_MainWnd.m_szFavoritesPath);
35723595
35733596 //お気に入りメニューの再作成
3574- DeleteFavoritesMenu();
3597+ //DeleteFavoritesMenu(); //(InitFavoritesMenu()内に移動)
35753598 InitFavoritesMenu();
35763599 }
35773600
@@ -3783,6 +3806,7 @@
37833806 LoadFolderItem(SEARCH_FOLDER_NAME);
37843807 }
37853808 delete pDlg;
3809+ SetFocus(m_hWnd);//(検索ダイアログから抜けた後ファイル表示にフォーカスが移らなかった問題への対処)
37863810 }
37873811 ///////////////////////////////////////////////////////////////
37883812 void CListView::OnGotoFolderDropDown()
--- trunk/exe/Association.cpp (revision 3)
+++ trunk/exe/Association.cpp (revision 4)
@@ -162,6 +162,7 @@
162162 {
163163 BOOL bRtn = g_pOption->OnOKNewFiletype(hDlg);
164164 EndDialog(hDlg, (INT)bRtn);
165+ SetFocus(g_pOption->m_hWnd);//(「新しい拡張子の作成」ダイアログを開くとそれ以降画面をタップしないと操作が継続できなかった問題への対処)
165166 return TRUE;
166167 }
167168 //キャンセルボタン押下
@@ -400,6 +401,7 @@
400401
401402 //取得データ格納
402403 APPLICATIONLIST *lpList = new APPLICATIONLIST;
404+ ZeroMemory(lpList, sizeof(APPLICATIONLIST));
403405 //1.拡張子
404406 lpList->lpszExt = NULL;
405407 //2.キー名
@@ -543,6 +545,7 @@
543545 continue;
544546
545547 nIconID = 0;
548+ ZeroMemory(szIconPath, sizeof(szIconPath));
546549 dwType = REG_SZ;
547550 dwDataSize = MAX_PATH*sizeof(TCHAR);
548551 if (ERROR_SUCCESS==RegQueryValueEx(hKeyWk, _T(""), 0, &dwType, lpData, &dwDataSize))
@@ -615,6 +618,7 @@
615618
616619 //取得データ格納
617620 APPLICATIONLIST *lpList = new APPLICATIONLIST;
621+ ZeroMemory(lpList, sizeof(APPLICATIONLIST));
618622 //1.拡張子
619623 lpList->lpszExt = new TCHAR[wcslen(szExt)];
620624 wcscpy(lpList->lpszExt, (szExt+1));
@@ -1043,7 +1047,7 @@
10431047 #ifdef __POCKET_PC
10441048 SHINITDLGINFO shidi;
10451049 shidi.dwMask = SHIDIM_FLAGS;
1046- shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN;
1050+ shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
10471051 shidi.hDlg = m_hWnd;
10481052 SHInitDialog(&shidi);
10491053 #endif
@@ -1190,6 +1194,9 @@
11901194 ///////////////////////////////////////////////////////////////
11911195 void CAssociation::OnInitFiletype()
11921196 {
1197+ //カーソルを処理中にする
1198+ HCURSOR hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
1199+
11931200 //ウィンドウ初期化
11941201 //リストビューの行選択化
11951202 ListView_SetExtendedListViewStyle(m_hListView2,
@@ -1222,6 +1229,9 @@
12221229
12231230 //ボタン設定
12241231 OnClickFiletype();
1232+
1233+ //カーソルを元に戻す
1234+ SetCursor(hCursor);
12251235 }
12261236
12271237 ///////////////////////////////////////////////////////////////
--- trunk/exe/TreeView2.cpp (revision 3)
+++ trunk/exe/TreeView2.cpp (revision 4)
@@ -29,6 +29,12 @@
2929 g_MainWnd.m_ListView.OnGoFront();
3030 return 0;
3131 }
32+ //BSキー押下(1回の操作で2階層上に移動してしまう問題への対処)
33+ if(wParam == VK_BACK)
34+ {
35+ g_MainWnd.m_TreeView.OnViewUpFolder();
36+ return 0;
37+ }
3238 break;
3339 //タップ開始時
3440 case WM_LBUTTONDOWN:
@@ -243,7 +249,7 @@
243249 TreeView_GetItem(m_hWnd, &tvi);
244250
245251 //対象のディレクトリの場合
246- if (wcscmp(szName, szChildName) == 0)
252+ if (_wcsicmp(szName, szChildName) == 0)//(パス文字列の大小文字が実際のパスと違う場合にフォルダ表示が更新されなかった問題への対処)
247253 {
248254 hSelectItem = hParent = hChild;
249255 lpszStart = wcschr(lpszStart, _T('\\'));
@@ -653,9 +659,13 @@
653659 return;
654660 }
655661
656- //右クリックメニュー作成
657- HMENU hMenu;
658- hMenu = GetSubMenu(g_MainWnd.m_ListView.m_hMenuPopup, 1);
662+ //右クリックメニュー作成(マイポケットPC上で「コピー」「切り取り」が正常に動作していなかった問題への対処)
663+ HMENU hMenu = GetSubMenu(g_MainWnd.m_ListView.m_hMenuPopup, 1);
664+ UINT uEnable = g_MainWnd.m_ListView.m_nCount? (MF_BYCOMMAND|MF_ENABLED): (MF_BYCOMMAND|MF_GRAYED);
665+ EnableMenuItem(hMenu, ID_EDIT_PASTE, uEnable);
666+ uEnable = (_tcscmp(szChildName, GetRootName()) == 0)? (MF_BYCOMMAND|MF_GRAYED): (MF_BYCOMMAND|MF_ENABLED);
667+ EnableMenuItem(hMenu, ID_EDIT_CUT, uEnable);
668+ EnableMenuItem(hMenu, ID_EDIT_COPY, uEnable);
659669
660670 //圧縮/検索の有効/無効判定
661671 g_MainWnd.m_CmdBands.SetEnableCompressSelected(hMenu, 0, 2,
@@ -998,8 +1008,8 @@
9981008 TVHITTESTINFO tv_ht;
9991009 memset(&tv_ht, 0x00, sizeof(tv_ht));
10001010 tv_ht.flags = TVHT_ONITEM;
1001- tv_ht.pt.x = LOWORD(dwPos);
1002- tv_ht.pt.y = HIWORD(dwPos);
1011+ tv_ht.pt.x = GET_X_LPARAM(dwPos);
1012+ tv_ht.pt.y = GET_Y_LPARAM(dwPos);
10031013 ScreenToClient(m_hWnd, &(tv_ht.pt));
10041014
10051015 HTREEITEM hItem = TreeView_HitTest(m_hWnd, &tv_ht);
@@ -1043,8 +1053,8 @@
10431053 {
10441054 DWORD dwPos = GetMessagePos();
10451055 POINT pt;
1046- pt.x = LOWORD(dwPos);
1047- pt.y = HIWORD(dwPos);
1056+ pt.x = GET_X_LPARAM(dwPos);
1057+ pt.y = GET_Y_LPARAM(dwPos);
10481058 // ScreenToClient(m_hWnd, &pt);
10491059 HMENU hMenu;
10501060 hMenu = GetSubMenu(g_MainWnd.m_ListView.m_hMenuPopup, 4);
@@ -1171,7 +1181,11 @@
11711181 g_MainWnd.m_ListView.SelectFile(szPath);
11721182
11731183 //コピー処理を実行
1174- g_MainWnd.m_ListView.OnEditCopy();
1184+ WCHAR szFromPath[MAX_PATH], *ptr;
1185+ _tcscpy(szFromPath, szPath);
1186+ if (ptr = _tcsrchr(szFromPath, _T('\\'))) //コピー元フォルダはカレントフォルダの1階層上を指定()
1187+ *ptr = _T('\0');
1188+ g_MainWnd.m_ListView.OnEditCopy(szFromPath);
11751189
11761190 //元のディレクトリへ戻る
11771191 g_MainWnd.m_ListView.LoadFolderItem(szPath, FALSE);
@@ -1186,7 +1200,11 @@
11861200 g_MainWnd.m_ListView.SelectFile(szPath);
11871201
11881202 //切り取り処理を実行
1189- g_MainWnd.m_ListView.OnEditCut();
1203+ WCHAR szFromPath[MAX_PATH], *ptr;
1204+ _tcscpy(szFromPath, szPath);
1205+ if (ptr = _tcsrchr(szFromPath, _T('\\'))) //フォルダ表示での「コピー元フォルダ」は、カレントフォルダの1階層上を指定
1206+ *ptr = _T('\0');
1207+ g_MainWnd.m_ListView.OnEditCut(szFromPath);
11901208
11911209 //元のディレクトリへ戻る
11921210 g_MainWnd.m_ListView.LoadFolderItem(szPath, FALSE);
@@ -1393,11 +1411,17 @@
13931411 //お気に入りのディレクトリへ移動
13941412 wcscpy(g_MainWnd.m_ListView.m_szCurrentFolder, g_MainWnd.m_szFavoritesPath);
13951413
1396- //ショートカットの貼り付け
1414+ //ショートカットの貼り付け(追加した項目に"〜へのショートカット"が付く場合があった問題への対処)
1415+ BOOL bTemp = g_MainWnd.m_ListView.m_Settings.bNotShortcutName;
1416+ g_MainWnd.m_ListView.m_Settings.bNotShortcutName = TRUE;
13971417 g_MainWnd.m_ListView.OnEditPasteShortcut(FALSE);
1418+ g_MainWnd.m_ListView.m_Settings.bNotShortcutName = bTemp;
13981419
13991420 //元のディレクトリへ戻る
14001421 g_MainWnd.m_ListView.LoadFolderItem(szPath, FALSE);
1422+
1423+ //お気に入りメニューの再作成(フォルダ表示から「お気に入りに追加」を行った場合にメニューへの反映が行われていなかった問題への対処)
1424+ g_MainWnd.m_ListView.InitFavoritesMenu();
14011425 }
14021426 #ifdef __POCKET_PC
14031427 ///////////////////////////////////////////////////////////////
@@ -1404,7 +1428,7 @@
14041428 void CTreeView::OnTapAndHold()
14051429 {
14061430 DWORD dwPos = GetMessagePos();
1407- OnRClick(LOWORD(dwPos), HIWORD(dwPos), TRUE);
1431+ OnRClick(GET_X_LPARAM(dwPos), GET_Y_LPARAM(dwPos), TRUE);
14081432 }
14091433 #endif
14101434 ///////////////////////////////////////////////////////////////
--- trunk/exe/UserPathDlg.cpp (revision 3)
+++ trunk/exe/UserPathDlg.cpp (revision 4)
@@ -74,7 +74,7 @@
7474 #ifdef __POCKET_PC
7575 SHINITDLGINFO shidi;
7676 shidi.dwMask = SHIDIM_FLAGS;
77- shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN;
77+ shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
7878 shidi.hDlg = m_hWnd;
7979 SHInitDialog(&shidi);
8080 #endif
@@ -248,6 +248,8 @@
248248 }
249249
250250 //正常の場合
251+ while (szPath[_tcslen(szPath)-1] == _T('\\')) //末尾の\を削除(メニューで表示されなくなる問題への対処)
252+ szPath[_tcslen(szPath)-1] = _T('\0');
251253 ListView_SetItemText(m_hList, pDispInfo->item.iItem, 0, szPath);
252254 ModPath(pDispInfo->item.iItem, szPath);
253255 }
@@ -334,6 +336,12 @@
334336 LPNMHDR pNMHDR = (LPNMHDR)lParam;
335337 switch (pNMHDR->code)
336338 {
339+ //(タップ&ホールドおよびプレス&ホールドのアニメーションが出ないようにする)
340+ case NM_RECOGNIZEGESTURE:
341+ {
342+ SetWindowLong(hDlg, DWL_MSGRESULT, 1);
343+ return TRUE;
344+ }
337345 //名前の変更開始
338346 case LVN_BEGINLABELEDIT:
339347 {
--- trunk/exe/ListSort.cpp (revision 3)
+++ trunk/exe/ListSort.cpp (revision 4)
@@ -9,6 +9,8 @@
99
1010 if (pList1->nItem < pList2->nItem)
1111 return -1;
12+ else if (pList1->nItem > pList2->nItem)
13+ return 1;
1214 else if (pList1->nItem == pList2->nItem)
1315 {
1416 //MOD START TODA 文字列比較の高速化 (from Y.Nagamidori)
@@ -23,8 +25,6 @@
2325 return bRaise ? wcsicmp(pList1->lpszName, pList2->lpszName) : wcscmp(pList2->lpszName, pList1->lpszName);
2426 //MOD END
2527 }
26- else if (pList1->nItem > pList2->nItem)
27- return 1;
2828
2929 return 0;
3030 }
@@ -39,6 +39,8 @@
3939 //MOD START TODA 文字列比較の高速化 (from Y.Nagamidori)
4040 if (pList1->nItem < pList2->nItem)
4141 return -1;
42+ else if (pList1->nItem > pList2->nItem)
43+ return 1;
4244 else if (pList1->nItem == pList2->nItem)
4345 {
4446 /*TCHAR szName1[MAX_PATH];
@@ -95,10 +97,8 @@
9597 return bRaise ? 1 : -1;
9698 }
9799 else
98- return wcsicmp(pList1->lpszName, pList2->lpszName);
100+ return bRaise? wcsicmp(pList1->lpszName, pList2->lpszName): wcsicmp(pList2->lpszName, pList1->lpszName);
99101 }
100- else if (pList1->nItem > pList2->nItem)
101- return 1;
102102 //MOD END
103103
104104 return 0;
@@ -113,6 +113,8 @@
113113 //MOD START TODA 文字列比較の高速化 (from Y.Nagamidori)
114114 if (pList1->nItem < pList2->nItem)
115115 return -1;
116+ else if (pList1->nItem > pList2->nItem)
117+ return 1;
116118 else if (pList1->nItem == pList2->nItem)
117119 {
118120 /*TCHAR szName1[MAX_PATH];
@@ -168,10 +170,8 @@
168170 }
169171 }
170172 else
171- return wcsicmp(pList1->lpszName, pList2->lpszName);
173+ return bRaise? wcsicmp(pList1->lpszName, pList2->lpszName): wcsicmp(pList2->lpszName, pList1->lpszName);
172174 }
173- else if (pList1->nItem > pList2->nItem)
174- return 1;
175175 //MOD END
176176
177177 return 0;
--- trunk/exe/MainWnd.cpp (revision 3)
+++ trunk/exe/MainWnd.cpp (revision 4)
@@ -267,7 +267,7 @@
267267 //ADD START TODA
268268 SetFocus(m_ListView.m_hWnd);
269269 //ADD END
270- m_ListView.LoadFolderItem(m_ListView.m_szCurrentFolder);
270+ m_ListView.InitFolderItem(m_ListView.m_szCurrentFolder);//(WS007SHにおいて「詳細」表示でファイル名の幅を狭くしすぎると次回起動時に落ちていた問題への対処)
271271 // SetCursor(hCursor); //DEL TODA
272272 m_hwndPrev = m_ListView.m_hWnd;
273273 }
@@ -282,29 +282,34 @@
282282 void CMainWnd::OnSize(int nWidth, int nHeight)
283283 {
284284 #ifdef __POCKET_PC
285- //MOD START TODA (from GSFinder ver.1.99)
286- //サイズを調整
287- RECT rctSB, rctTB, rctAB;
285+ //サイズを調整(画面の縦横切り替え後にステータスバー/アドレスバーのサイズがおかしくなる問題への対処)
286+ RECT rctSB, rctTB, rctAB, rctCB;
288287 if (m_StatusWnd.m_hWnd)
289288 GetWindowRect(m_StatusWnd.m_hWnd, &rctSB);
290289 if (m_CmdBands.m_hToolbar)
291290 GetWindowRect(m_CmdBands.m_hToolbar, &rctTB);
292291 if (m_CmdBands.m_hAddressbar)
292+ {
293293 GetWindowRect(m_CmdBands.m_hAddressbar, &rctAB);
294+ GetWindowRect(m_CmdBands.m_hComboBox, &rctCB);
295+ }
296+ rctSB.left = rctTB.left = rctAB.left = 0;
297+ rctSB.right = rctTB.right = rctAB.right = GetSystemMetrics(SM_CXSCREEN);
294298 if (m_CmdBands.m_Settings.bShowAddressBar)
299+ {
300+ int ss = 2;
295301 MoveWindow(m_CmdBands.m_hAddressbar, 0, 0, RECT_WIDTH(&rctAB), RECT_HEIGHT(&rctAB), TRUE);
302+ MoveWindow(m_CmdBands.m_hComboBox, ss, ss, RECT_WIDTH(&rctAB) - ss * 2, RECT_HEIGHT(&rctCB), TRUE);
303+ }
304+
296305 if (m_CmdBands.m_Settings.bShowToolBar)
297- MoveWindow(m_CmdBands.m_hToolbar, 0,
298- nHeight - RECT_HEIGHT(&rctTB), RECT_WIDTH(&rctTB), RECT_HEIGHT(&rctTB), TRUE);
306+ MoveWindow(m_CmdBands.m_hToolbar, rctTB.left, nHeight - RECT_HEIGHT(&rctTB), RECT_WIDTH(&rctTB), RECT_HEIGHT(&rctTB), TRUE);
299307 if (m_bShowStatusWnd)
300308 {
301309 if (m_CmdBands.m_Settings.bShowToolBar)
302- MoveWindow(m_StatusWnd.m_hWnd, 0,
303- nHeight - RECT_HEIGHT(&rctSB) - RECT_HEIGHT(&rctTB),
304- RECT_WIDTH(&rctSB), RECT_HEIGHT(&rctSB), TRUE);
310+ MoveWindow(m_StatusWnd.m_hWnd, rctSB.left, nHeight - RECT_HEIGHT(&rctSB) - RECT_HEIGHT(&rctTB), RECT_WIDTH(&rctSB), RECT_HEIGHT(&rctSB), TRUE);
305311 else
306- MoveWindow(m_StatusWnd.m_hWnd, 0,
307- nHeight - RECT_HEIGHT(&rctSB), RECT_WIDTH(&rctSB), RECT_HEIGHT(&rctSB), TRUE);
312+ MoveWindow(m_StatusWnd.m_hWnd, rctSB.left, nHeight - RECT_HEIGHT(&rctSB), RECT_WIDTH(&rctSB), RECT_HEIGHT(&rctSB), TRUE);
308313 }
309314 int nLVTop, nLVBottom;
310315 if (m_CmdBands.m_Settings.bShowAddressBar)
@@ -344,83 +349,83 @@
344349 m_bShowStatusWnd &&
345350 !m_CmdBands.m_Settings.bShowAddressBar)
346351 nLVBottom = nHeight - RECT_HEIGHT(&rctSB);
347- //MOD END
348352
349-//MOD START TODA
350-// if (m_CmdBands.m_Settings.bShowAddressBar)
351-// SetWindowPos(m_ListView.m_hWnd, HWND_TOP, 0, nLVTop - 2 , nWidth, nLVBottom + 3, SWP_SHOWWINDOW);
352-// else
353-// MoveWindow(m_ListView.m_hWnd, 0, nLVTop , nWidth, nLVBottom, TRUE);
354353 if (m_CmdBands.m_Settings.bShowAddressBar)
355354 {
356355 if (m_bShowFolder)
357356 {
358- if(m_bViewSide)
357+ if (m_bViewSide)
359358 {
359+ int ntvw = m_nTreeViewWidth;
360+ int split = APP_SPLIT_SIZE;
360361 SetWindowPos(m_TreeView.m_hWnd, HWND_TOP,
361362 0,
362- nLVTop - 2,
363- m_nTreeViewWidth,
364- nLVBottom + 2, SWP_SHOWWINDOW);
363+ nLVTop,
364+ ntvw,
365+ nLVBottom, SWP_SHOWWINDOW);
365366 SetWindowPos(m_ListView.m_hWnd, HWND_TOP,
366- 0 + (m_nTreeViewWidth + APP_SPLIT_SIZE),
367- nLVTop - 2,
368- nWidth - (m_nTreeViewWidth + APP_SPLIT_SIZE),
369- nLVBottom + 2, SWP_SHOWWINDOW);
367+ 0 + (ntvw + split),
368+ nLVTop,
369+ nWidth - (ntvw + split),
370+ nLVBottom, SWP_SHOWWINDOW);
370371 }
371372 else
372373 {
374+ int ntvh = m_nTreeViewHeight;
375+ int split = APP_SPLIT_SIZE;
373376 SetWindowPos(m_TreeView.m_hWnd, HWND_TOP,
374377 0,
375- nLVTop - 2,
378+ nLVTop,
376379 nWidth,
377- m_nTreeViewHeight, SWP_SHOWWINDOW);
380+ ntvh, SWP_SHOWWINDOW);
378381 SetWindowPos(m_ListView.m_hWnd, HWND_TOP,
379382 0,
380- (nLVTop - 2) + (m_nTreeViewHeight + APP_SPLIT_SIZE),
383+ nLVTop + (ntvh + split),
381384 nWidth,
382- (nLVBottom + 2) - (m_nTreeViewHeight + APP_SPLIT_SIZE), SWP_SHOWWINDOW);
385+ nLVBottom - (ntvh + split), SWP_SHOWWINDOW);
383386 }
384387 }
385388 else
386- SetWindowPos(m_ListView.m_hWnd, HWND_TOP, 0, nLVTop - 2 , nWidth, nLVBottom + 2, SWP_SHOWWINDOW);
387-
389+ SetWindowPos(m_ListView.m_hWnd, HWND_TOP, 0, nLVTop , nWidth, nLVBottom, SWP_SHOWWINDOW);
388390 }
389391 else
390392 {
391393 if (m_bShowFolder)
392394 {
393- if(m_bViewSide)
395+ if (m_bViewSide)
394396 {
397+ int ntvw = m_nTreeViewWidth;
398+ int split = APP_SPLIT_SIZE;
395399 MoveWindow(m_TreeView.m_hWnd,
396400 0,
397401 nLVTop,
398- m_nTreeViewWidth,
402+ ntvw,
399403 nLVBottom, TRUE);
400404 MoveWindow(m_ListView.m_hWnd,
401- 0 + (m_nTreeViewWidth + APP_SPLIT_SIZE),
405+ 0 + (ntvw + split),
402406 nLVTop,
403- nWidth - (m_nTreeViewWidth + APP_SPLIT_SIZE),
407+ nWidth - (ntvw + split),
404408 nLVBottom, TRUE);
405409 }
406410 else
407411 {
412+ int ntvh = m_nTreeViewHeight;
413+ int split = APP_SPLIT_SIZE;
408414 MoveWindow(m_TreeView.m_hWnd,
409415 0,
410416 nLVTop,
411417 nWidth,
412- m_nTreeViewHeight, TRUE);
418+ ntvh, TRUE);
413419 MoveWindow(m_ListView.m_hWnd,
414420 0,
415- nLVTop + (m_nTreeViewHeight + APP_SPLIT_SIZE),
421+ nLVTop + (ntvh + split),
416422 nWidth,
417- nLVBottom - (m_nTreeViewHeight + APP_SPLIT_SIZE), TRUE);
423+ nLVBottom - (ntvh + split), TRUE);
418424 }
419425 }
420426 else
421427 MoveWindow(m_ListView.m_hWnd, 0, nLVTop , nWidth, nLVBottom, TRUE);
422428 }
423-//MOD END
424429 #else
425430 //サイズを調整
426431 RECT rctCB, rctSB;
@@ -1122,16 +1127,6 @@
11221127 if (SipGetInfo(&si)) {
11231128 if (si.fdwFlags & SIPF_ON) {
11241129 OnSize(RECT_WIDTH(&si.rcVisibleDesktop), RECT_HEIGHT(&si.rcVisibleDesktop));
1125-
1126- //選択しているものを見えるようにする
1127- for (int i = 0; i < ListView_GetItemCount(m_ListView.m_hWnd); i++)
1128- {
1129- if (ListView_GetItemState(m_ListView.m_hWnd, i, LVIS_FOCUSED) == LVIS_FOCUSED)
1130- {
1131- ListView_EnsureVisible(m_ListView.m_hWnd, i, FALSE);
1132- break;
1133- }
1134- }
11351130 }
11361131 else
11371132 {
@@ -1142,6 +1137,11 @@
11421137 }
11431138 }
11441139 m_dwLastSipInfo = si.fdwFlags;
1140+
1141+ //選択しているものを見えるようにする(縦横画面切り替え時にファイル表示で選択しているファイルが隠れてしまうことがあった問題への対処)
1142+ int nItem = ListView_GetNextItem(m_ListView.m_hWnd, -1, LVNI_ALL|LVNI_FOCUSED);
1143+ if (nItem >= 0)
1144+ ListView_EnsureVisible(m_ListView.m_hWnd, nItem, FALSE);
11451145 #else
11461146 RECT rc;
11471147 GetClientRect(m_hWnd, &rc);
@@ -1160,7 +1160,7 @@
11601160 //ステータスバーのサイズ調整
11611161 if(m_bShowStatusWnd) {
11621162 SendMessage(m_StatusWnd.m_hWnd, WM_SIZE, wParam, lParam);
1163- m_StatusWnd.OnSize(LOWORD(lParam), HIWORD(lParam));
1163+ m_StatusWnd.OnSize(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
11641164 }
11651165 }
11661166
@@ -1170,7 +1170,7 @@
11701170 //MOD START TODA (移動範囲設定 from Y.Nagamidori)
11711171 if(m_bViewSide)
11721172 {
1173- int x = LOWORD(lParam);
1173+ int x = GET_X_LPARAM(lParam);
11741174
11751175 //移動範囲設定(下限/上限)
11761176 int min = 20;
--- trunk/readme.txt (revision 3)
+++ trunk/readme.txt (revision 4)
@@ -0,0 +1,133 @@
1+========================================================================
2+GSFinder+ for HTC Universal リコンパイル版
3+2008年12月・ごりぽんソフトウェア
4+========================================================================
5+
6+●概要
7+ 現時点(2008年12月現在)で、拙作GSFinder+ for W-ZERO3で行われた不具合の修
8+正のうち、GSFinder+シリーズ全般に適用できる物を、かわ。氏の公開されている
9+GSFinder+ for HTC Universalに対して反映させたものです。
10+
11+かわ。氏
12+「GSFinder+ for HTC Universal」
13+http://www.geocities.jp/gsfinder_wm5/
14+
15+
16+●動作環境
17+ WindowsMobile5 PocketPCおよびWindowsMobile6以降のClassic/Professional。
18+ WindowsMobile5 PocketPCのSDKでビルドしているため、WindowsMobile5
19+SmartphoneおよびWindowsMobile6以降のStandardでは動作しません。
20+ WindowsMobile2003のPocketPCでも動作するはずですが、前述の通りビルドに使っ
21+ているSDKがWindowsMobile5向けのものなので、何かしら問題が出る可能性はあり
22+ます。
23+
24+
25+●インストール
26+ デバイスにGSFinder-UniJ-recomp.CAB(日本語版)または
27+GSFinder-UniE-recomp.CAB(英語版)をコピーし、ファイルエクスプローラ等から
28+実行(タップするなど)してインストールしてください。
29+
30+
31+●使用方法
32+ 基本的な操作方法やメニューなどは元のバージョンに準じます。
33+ 不具合修正のみなので、操作方法に違いはありません。
34+
35+
36+●アンインストール
37+ スタート→設定→システム→プログラムの削除から、
38+"goripon GSFinder+ for Universal(recomp)"を選んでアンインストールしてくだ
39+さい。
40+
41+
42+●注意事項
43+ 本ソフトウェアの使用による、いかなる損害に対しても、作者は責任を負いま
44+せん。利用は個人の責任でお願いします。
45+ また、本ソフトウェアについて、かわ。氏、および歴代のGSFinder作者諸氏に
46+は問い合わせをしないでください。
47+ 動作・バグ報告、情報提供、要望などは、このテキストに記載のある連絡先ま
48+でお寄せください。
49+ 商業誌や商業ベースのWEBページに掲載する場合は、(可能であれば掲載予定の
50+内容を添えて)事前に許可を取ってください。本ソフトウェアは基本的に取り扱わ
51+れること自体は拒否しませんが、原作者の居るものですので、私が原作者と勘違
52+いされるような扱いはしないでください。
53+
54+
55+●謝辞
56+ GSFinder+ WM5をソースごと公開してくれているかわ。氏および歴代のGSFinder
57+作者の方々に感謝します。
58+ 色々な報告や要望をくれた皆様やブログのコメントにも感謝です。
59+
60+
61+●ソースコードの配布とライセンスについて
62+ 元にしたGSFinder+シリーズがGNU General Public Licenseに従って配布されて
63+いますので、本ソフトウェアもそれに準じます。
64+ ソースコードは実行ファイルと同じ場所で公開されていますので、そこから入
65+手してください。
66+
67+
68+●連絡先
69+ごりぽんソフトウェア・ごりぽん
70+メール:goriponsoft@gmail.com
71+ブログ:http://d.hatena.ne.jp/goriponsoft/
72+
73+
74+●修正内容
75+ GSFinder+ for W-ZERO3から反映させた修正内容は以下の通りです。日付は、
76+GSFinder+ for W-ZERO3における修正日となっています。
77+
78+2007/08/06
79+・画面の縦横切り替え後にステータスバー/アドレスバーのサイズがおかしくなる点を修正
80+・ユーザーパスの登録で末尾に'\'を付けるとメニューで正常に表示されなくなっていたのを修正
81+・WindowsMobile非対応部分を対応するように修正(※メニューの不完全部分を修正)
82+
83+2007/08/18
84+・ファイル表示のアイコンの整列でソートの比較処理が一部うまく動いていなかったのを修正
85+
86+2007/08/20
87+・内部での座標の取り扱いに誤り(符号の有無)があったので修正
88+
89+2007/09/02
90+・フォルダ表示側で「コピー」「切り取り」を行った場合にコピー中の総ファイル数表示がおかしくなっていたのを修正
91+・フォルダ表示の「マイポケットPC」上で「コピー」「切り取り」が正常に動作していなかったので選択できないように修正
92+
93+2007/09/04
94+・オプション設定の「ファイルの種類」およびファイルメニューの「プログラムの選択」で発生していた不正処理に対処
95+
96+2007/09/09
97+・フォルダ表示で[クリア]または[BS]キーを押すと1回の操作で2階層上に移動してしまっていたのを修正
98+・検索ダイアログから抜けた後ファイル表示にフォーカスが移るよう修正
99+
100+2007/09/16
101+・WS007SHにおいて「詳細」表示でファイル名の幅を狭くしすぎると次回起動時に落ちていたのを修正
102+
103+2007/12/26
104+・「すべて選択」の後に「フォルダにコピー」を行った場合にハングアップする場合があったのを修正
105+
106+2007/12/27
107+・機能していなかった[F2]/[F6]キー関連の無駄なコードを削除(※マクロ__POCKETPCが定義済の場合のみ)
108+・フォルダコピーでのハングアップバグ修正に不完全な部分があったので再修正
109+
110+2008/01/07
111+・ファイルの圧縮で不正な書庫が作成されていたのを修正
112+・オプション画面の「ファイルの種類」で処理に時間が掛かる場合にはウェイトカーソルを表示するよう修正
113+
114+2008/01/14
115+・アドレスバーのプルダウンリストの余計な開閉を抑制するよう修正
116+・アドレスバーに入力したパス文字列の大小文字が実際のパスと違っていた場合にフォルダ表示が更新されなかったのを修正
117+・「お気に入りに追加」を行うと追加した項目に"〜へのショートカット"が付く場合があったのを修正
118+・フォルダ表示から「お気に入りに追加」を行った場合にメニューへの反映が行われていなかったのを修正
119+
120+2008/01/20
121+・縦横画面切り替え時にファイル表示で選択しているファイルが隠れてしまうことがあったのを修正
122+・オプション設定の「ファイルの種類」で「新しい拡張子の作成」ダイアログを開くとそれ以降画面をタップしないと操作が継続できなかったのを修正
123+
124+2008/05/23
125+・フォルダ内のファイルの合計容量が2GBを超えた場合にステータスバーの表示がマイナス値になってしまっていたのを修正
126+・リストビューアイコンの遅延読み込みがうまく動作していなかったのを修正
127+
128+2008/07/02
129+・ファイル日時表示の処理内に日時の文字列を格納するバッファのサイズを誤って指定していた部分があったのを修正
130+・ユーザーパス登録画面でタップ&ホールドのアニメーションが出せてしまっていたのを修正
131+
132+2008/11/24
133+・アドレスバーに入力されたパスの末尾に'\'が付いていると上層フォルダへの移動がうまく行われなかったのを修正
Show on old repository browser