Commit 0defa4e8 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

oleview: Added copy HTML tag functionality.

parent 749e65cb
......@@ -49,7 +49,7 @@ IDM_MENU MENU
MENUITEM "Create Instance &On", IDM_CREATEINSTON, GRAYED
MENUITEM "&Release Instance", IDM_RELEASEINST, GRAYED
MENUITEM SEPARATOR
MENUITEM "Copy &CLSID to clipboard", IDM_COPYCLSID, GRAYED
MENUITEM "Copy C&LSID to clipboard", IDM_COPYCLSID, GRAYED
MENUITEM "Copy &HTML object Tag to clipboard", IDM_HTMLTAG, GRAYED
MENUITEM SEPARATOR
MENUITEM "&View...", IDM_VIEW, GRAYED
......
......@@ -22,6 +22,9 @@
GLOBALS globals;
static WCHAR wszRegEdit[] = { 'r','e','g','e','d','i','t','.','e','x','e','\0' };
static WCHAR wszFormat[] = { '<','o','b','j','e','c','t','\n',' ',' ',' ',
'c','l','a','s','s','i','d','=','\"','c','l','s','i','d',':','%','s','\"','\n',
'>','\n','<','/','o','b','j','e','c','t','>' };
INT_PTR CALLBACK CreateInstOnProc(HWND hDlgWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
......@@ -70,6 +73,31 @@ void CopyClsid(HTREEITEM item)
}
}
void CopyHTMLTag(HTREEITEM item)
{
TVITEM tvi;
memset(&tvi, 0, sizeof(TVITEM));
tvi.hItem = item;
tvi.cchTextMax = MAX_LOAD_STRING;
SendMessage(globals.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
if(OpenClipboard(globals.hMainWnd) && EmptyClipboard() && tvi.lParam)
{
HANDLE hClipData = GlobalAlloc(GHND, sizeof(WCHAR[MAX_LOAD_STRING]));
LPVOID pLoc = GlobalLock(hClipData);
int clsidLen = lstrlenW(((ITEM_INFO *)tvi.lParam)->clsid)-1;
((ITEM_INFO *)tvi.lParam)->clsid[clsidLen] = '\0';
wsprintfW(pLoc, wszFormat, ((ITEM_INFO *)tvi.lParam)->clsid+1);
((ITEM_INFO *)tvi.lParam)->clsid[clsidLen] = '}';
GlobalUnlock(hClipData);
hClipData = SetClipboardData(CF_UNICODETEXT, hClipData);
CloseClipboard();
}
}
void ResizeChild(void)
{
RECT client, stat, tool;
......@@ -150,7 +178,7 @@ void RefreshMenu(HTREEITEM item)
EnableMenuItem(hMenu, IDM_VIEW, MF_GRAYED);
}
parent = TreeView_GetParent(globals.hTree, item);
if(parent==tree.hAID || parent==tree.hGBCC)
if(parent==tree.hAID || parent==tree.hGBCC || parent==tree.hTL)
EnableMenuItem(hMenu, IDM_COPYCLSID, MF_ENABLED);
}
......@@ -174,6 +202,10 @@ int MenuCommand(WPARAM wParam, HWND hWnd)
hSelect = TreeView_GetSelection(globals.hTree);
CopyClsid(hSelect);
break;
case IDM_HTMLTAG:
hSelect = TreeView_GetSelection(globals.hTree);
CopyHTMLTag(hSelect);
break;
case IDM_CREATEINST:
hSelect = TreeView_GetSelection(globals.hTree);
CreateInst(hSelect, NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment