Fix bookmark organizer
parent
6830872417
commit
0d8a68cc62
|
@ -425,7 +425,7 @@ void SyncTreeFoldersWithFavoriteFolders(HWND hTree, CelestiaCore* appCore)
|
||||||
FavoritesList::iterator iter;
|
FavoritesList::iterator iter;
|
||||||
TVITEMW tvItem;
|
TVITEMW tvItem;
|
||||||
HTREEITEM hItem, hParent;
|
HTREEITEM hItem, hParent;
|
||||||
char itemName[33];
|
wchar_t itemName[33];
|
||||||
bool found;
|
bool found;
|
||||||
|
|
||||||
if (favorites != NULL)
|
if (favorites != NULL)
|
||||||
|
@ -440,16 +440,15 @@ void SyncTreeFoldersWithFavoriteFolders(HWND hTree, CelestiaCore* appCore)
|
||||||
// Get information on item
|
// Get information on item
|
||||||
tvItem.hItem = hItem;
|
tvItem.hItem = hItem;
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_PARAM | TVIF_HANDLE;
|
tvItem.mask = TVIF_TEXT | TVIF_PARAM | TVIF_HANDLE;
|
||||||
wstring name = CurrentCPToWide(itemName);
|
tvItem.pszText = itemName;
|
||||||
tvItem.pszText = const_cast<wchar_t*>(name.c_str());
|
tvItem.cchTextMax = sizeof(itemName) / sizeof(wchar_t);
|
||||||
tvItem.cchTextMax = sizeof(itemName);
|
|
||||||
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
||||||
{
|
{
|
||||||
// Skip non-folders.
|
// Skip non-folders.
|
||||||
if(tvItem.lParam == 0)
|
if(tvItem.lParam == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
string name(itemName);
|
string name(WideToCurrentCP(itemName));
|
||||||
if (favorites->size() == 0)
|
if (favorites->size() == 0)
|
||||||
{
|
{
|
||||||
// Just append the folder
|
// Just append the folder
|
||||||
|
@ -462,7 +461,7 @@ void SyncTreeFoldersWithFavoriteFolders(HWND hTree, CelestiaCore* appCore)
|
||||||
iter = favorites->begin();
|
iter = favorites->begin();
|
||||||
while (iter != favorites->end())
|
while (iter != favorites->end())
|
||||||
{
|
{
|
||||||
if ((*iter)->isFolder && (*iter)->name == itemName)
|
if ((*iter)->isFolder && (*iter)->name == name)
|
||||||
{
|
{
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
|
@ -506,7 +505,7 @@ void InsertBookmarkInFavorites(HWND hTree, char* name, CelestiaCore* appCore)
|
||||||
FavoritesList* favorites = appCore->getFavorites();
|
FavoritesList* favorites = appCore->getFavorites();
|
||||||
TVITEMW tvItem;
|
TVITEMW tvItem;
|
||||||
HTREEITEM hItem;
|
HTREEITEM hItem;
|
||||||
char itemName[33];
|
wchar_t itemName[33];
|
||||||
string newBookmark(name);
|
string newBookmark(name);
|
||||||
|
|
||||||
// SyncTreeFoldersWithFavoriteFolders(hTree, appCore);
|
// SyncTreeFoldersWithFavoriteFolders(hTree, appCore);
|
||||||
|
@ -520,15 +519,14 @@ void InsertBookmarkInFavorites(HWND hTree, char* name, CelestiaCore* appCore)
|
||||||
{
|
{
|
||||||
tvItem.hItem = hItem;
|
tvItem.hItem = hItem;
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
||||||
wstring name = CurrentCPToWide(itemName);
|
tvItem.pszText = itemName;
|
||||||
tvItem.pszText = const_cast<wchar_t*>(name.c_str());
|
tvItem.cchTextMax = sizeof(itemName) / sizeof(wchar_t);
|
||||||
tvItem.cchTextMax = sizeof(itemName);
|
|
||||||
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
||||||
{
|
{
|
||||||
FavoritesEntry* fav = reinterpret_cast<FavoritesEntry*>(tvItem.lParam);
|
FavoritesEntry* fav = reinterpret_cast<FavoritesEntry*>(tvItem.lParam);
|
||||||
if (fav != NULL && fav->isFolder)
|
if (fav != NULL && fav->isFolder)
|
||||||
{
|
{
|
||||||
appCore->addFavorite(newBookmark, string(itemName));
|
appCore->addFavorite(newBookmark, WideToCurrentCP(itemName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -545,7 +543,7 @@ void DeleteBookmarkFromFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
FavoritesList* favorites = appCore->getFavorites();
|
FavoritesList* favorites = appCore->getFavorites();
|
||||||
TVITEMW tvItem;
|
TVITEMW tvItem;
|
||||||
HTREEITEM hItem;
|
HTREEITEM hItem;
|
||||||
char itemName[33];
|
wchar_t itemName[33];
|
||||||
|
|
||||||
hItem = TreeView_GetSelection(hTree);
|
hItem = TreeView_GetSelection(hTree);
|
||||||
if (!hItem)
|
if (!hItem)
|
||||||
|
@ -554,9 +552,8 @@ void DeleteBookmarkFromFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
// Get the selected item text (which is the bookmark name)
|
// Get the selected item text (which is the bookmark name)
|
||||||
tvItem.hItem = hItem;
|
tvItem.hItem = hItem;
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_PARAM | TVIF_HANDLE;
|
tvItem.mask = TVIF_TEXT | TVIF_PARAM | TVIF_HANDLE;
|
||||||
wstring name = CurrentCPToWide(itemName);
|
tvItem.pszText = itemName;
|
||||||
tvItem.pszText = const_cast<wchar_t*>(name.c_str());
|
tvItem.cchTextMax = sizeof(itemName) / sizeof(wchar_t);
|
||||||
tvItem.cchTextMax = sizeof(itemName);
|
|
||||||
if (!SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
if (!SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -573,7 +570,7 @@ void DeleteBookmarkFromFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
for (int i = favorites->size() - 1; i >= 0; --i)
|
for (int i = favorites->size() - 1; i >= 0; --i)
|
||||||
{
|
{
|
||||||
FavoritesEntry *cur = favorites->at(i);
|
FavoritesEntry *cur = favorites->at(i);
|
||||||
if (cur == fav || (fav->isFolder && cur->parentFolder == itemName))
|
if (cur == fav || (fav->isFolder && cur->parentFolder == WideToCurrentCP(itemName)))
|
||||||
{
|
{
|
||||||
favorites->erase(favorites->begin() + i);
|
favorites->erase(favorites->begin() + i);
|
||||||
}
|
}
|
||||||
|
@ -635,9 +632,9 @@ void MoveBookmarkInFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
TVITEMW tvItem;
|
TVITEMW tvItem;
|
||||||
TVINSERTSTRUCTW tvis;
|
TVINSERTSTRUCTW tvis;
|
||||||
HTREEITEM hDragItemFolder, hDropItem;
|
HTREEITEM hDragItemFolder, hDropItem;
|
||||||
char dragItemName[33];
|
wchar_t dragItemName[33];
|
||||||
char dragItemFolderName[33];
|
wchar_t dragItemFolderName[33];
|
||||||
char dropFolderName[33];
|
wchar_t dropFolderName[33];
|
||||||
bool bMovedInTree = false;
|
bool bMovedInTree = false;
|
||||||
FavoritesEntry* draggedFav = NULL;
|
FavoritesEntry* draggedFav = NULL;
|
||||||
FavoritesEntry* dropFolderFav = NULL;
|
FavoritesEntry* dropFolderFav = NULL;
|
||||||
|
@ -645,9 +642,8 @@ void MoveBookmarkInFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
// First get the target folder name
|
// First get the target folder name
|
||||||
tvItem.hItem = hDropTargetItem;
|
tvItem.hItem = hDropTargetItem;
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
||||||
wstring itemName = CurrentCPToWide(dropFolderName);
|
tvItem.pszText = dropFolderName;
|
||||||
tvis.item.pszText = const_cast<wchar_t*>(itemName.c_str());
|
tvItem.cchTextMax = sizeof(dropFolderName) / sizeof(wchar_t);
|
||||||
tvItem.cchTextMax = sizeof(dropFolderName);
|
|
||||||
if (!SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
if (!SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -658,9 +654,8 @@ void MoveBookmarkInFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
tvItem.lParam = NULL;
|
tvItem.lParam = NULL;
|
||||||
tvItem.hItem = hDragItem;
|
tvItem.hItem = hDragItem;
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
||||||
itemName = CurrentCPToWide(dragItemName);
|
tvItem.pszText = dragItemName;
|
||||||
tvis.item.pszText = const_cast<wchar_t*>(itemName.c_str());
|
tvItem.cchTextMax = sizeof(dragItemName) / sizeof(wchar_t);
|
||||||
tvItem.cchTextMax = sizeof(dragItemName);
|
|
||||||
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
||||||
{
|
{
|
||||||
draggedFav = reinterpret_cast<FavoritesEntry*>(tvItem.lParam);
|
draggedFav = reinterpret_cast<FavoritesEntry*>(tvItem.lParam);
|
||||||
|
@ -670,16 +665,15 @@ void MoveBookmarkInFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
{
|
{
|
||||||
tvItem.hItem = hDragItemFolder;
|
tvItem.hItem = hDragItemFolder;
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
||||||
wstring itemName = CurrentCPToWide(dragItemFolderName);
|
tvItem.pszText = dragItemFolderName;
|
||||||
tvItem.pszText = const_cast<wchar_t*>(itemName.c_str());
|
tvItem.cchTextMax = sizeof(dragItemFolderName) / sizeof(wchar_t);
|
||||||
tvItem.cchTextMax = sizeof(dragItemFolderName);
|
|
||||||
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
if (SendMessage(hTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
||||||
{
|
{
|
||||||
if (!TreeView_GetParent(hTree, hDragItemFolder))
|
if (!TreeView_GetParent(hTree, hDragItemFolder))
|
||||||
dragItemFolderName[0] = '\0';
|
dragItemFolderName[0] = '\0';
|
||||||
|
|
||||||
// Make sure drag and target folders are different
|
// Make sure drag and target folders are different
|
||||||
if (strcmp(dragItemFolderName, dropFolderName))
|
if (wcscmp(dragItemFolderName, dropFolderName))
|
||||||
{
|
{
|
||||||
// Delete tree item from source bookmark
|
// Delete tree item from source bookmark
|
||||||
if (TreeView_DeleteItem(hTree, hDragItem))
|
if (TreeView_DeleteItem(hTree, hDragItem))
|
||||||
|
@ -688,7 +682,7 @@ void MoveBookmarkInFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
tvis.hParent = hDropTargetItem;
|
tvis.hParent = hDropTargetItem;
|
||||||
tvis.hInsertAfter = TVI_LAST;
|
tvis.hInsertAfter = TVI_LAST;
|
||||||
tvis.item.mask = StdItemMask;
|
tvis.item.mask = StdItemMask;
|
||||||
wstring itemName = CurrentCPToWide(dragItemName);
|
wstring itemName = dragItemName;
|
||||||
tvis.item.pszText = const_cast<wchar_t*>(itemName.c_str());
|
tvis.item.pszText = const_cast<wchar_t*>(itemName.c_str());
|
||||||
tvis.item.lParam = reinterpret_cast<LPARAM>(draggedFav);
|
tvis.item.lParam = reinterpret_cast<LPARAM>(draggedFav);
|
||||||
tvis.item.iImage = 3;
|
tvis.item.iImage = 3;
|
||||||
|
@ -711,7 +705,7 @@ void MoveBookmarkInFavorites(HWND hTree, CelestiaCore* appCore)
|
||||||
// Now perform the move in favorites
|
// Now perform the move in favorites
|
||||||
if (bMovedInTree && draggedFav != NULL)
|
if (bMovedInTree && draggedFav != NULL)
|
||||||
{
|
{
|
||||||
draggedFav->parentFolder = dropFolderName;
|
draggedFav->parentFolder = WideToCurrentCP(dropFolderName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -875,7 +869,7 @@ HTREEITEM GetTreeViewItemHandle(HWND hTree, char* path, HTREEITEM hParent)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
char* cP;
|
char* cP;
|
||||||
char itemName[33];
|
char_t itemName[33];
|
||||||
char pathBuf[66];
|
char pathBuf[66];
|
||||||
TVITEMW Item;
|
TVITEMW Item;
|
||||||
HTREEITEM hItem;
|
HTREEITEM hItem;
|
||||||
|
|
|
@ -151,7 +151,7 @@ static bool ignoreNextMoveEvent = false;
|
||||||
static const WPARAM ID_GOTO_URL = 62000;
|
static const WPARAM ID_GOTO_URL = 62000;
|
||||||
|
|
||||||
HWND hBookmarkTree;
|
HWND hBookmarkTree;
|
||||||
char bookmarkName[33];
|
wchar_t bookmarkName[33];
|
||||||
|
|
||||||
static const string ScriptsDirectory = "scripts";
|
static const string ScriptsDirectory = "scripts";
|
||||||
static vector<ScriptMenuItem>* ScriptMenuItems = NULL;
|
static vector<ScriptMenuItem>* ScriptMenuItems = NULL;
|
||||||
|
@ -1108,7 +1108,7 @@ BOOL APIENTRY RenameBookmarkProc(HWND hDlg,
|
||||||
SendMessage(hEdit, EM_LIMITTEXT, 32, 0);
|
SendMessage(hEdit, EM_LIMITTEXT, 32, 0);
|
||||||
|
|
||||||
//Set text in edit control to current bookmark name
|
//Set text in edit control to current bookmark name
|
||||||
SetWindowText(hEdit, bookmarkName);
|
SetWindowTextW(hEdit, bookmarkName);
|
||||||
|
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
|
@ -1246,9 +1246,8 @@ BOOL APIENTRY OrganizeBookmarksProc(HWND hDlg,
|
||||||
{
|
{
|
||||||
tvItem.hItem = hItem;
|
tvItem.hItem = hItem;
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
tvItem.mask = TVIF_TEXT | TVIF_HANDLE;
|
||||||
wstring itemName = CurrentCPToWide(bookmarkName);
|
tvItem.pszText = bookmarkName;
|
||||||
tvItem.pszText = const_cast<wchar_t*>(itemName.c_str());
|
tvItem.cchTextMax = sizeof(bookmarkName) / sizeof(wchar_t);
|
||||||
tvItem.cchTextMax = sizeof(bookmarkName);
|
|
||||||
if (SendMessage(hBookmarkTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
if (SendMessage(hBookmarkTree, TVM_GETITEMW, 0, (LPARAM)&tvItem))
|
||||||
{
|
{
|
||||||
DialogBox(hRes,
|
DialogBox(hRes,
|
||||||
|
|
Loading…
Reference in New Issue