nativea: #161787# Use folder icon from Windows shell library
This commit is contained in:
parent
b56db015d6
commit
67d5e1f85b
1 changed files with 27 additions and 13 deletions
|
@ -109,7 +109,7 @@ using namespace ::osl;
|
|||
#define ICON_TEMPLATE 16
|
||||
#define ICON_MACROLIBRARY 17
|
||||
#define ICON_CONFIGURATION 18
|
||||
#define ICON_OPEN 19
|
||||
#define ICON_OPEN 5 // See index of open folder icon in shell32.dll
|
||||
#define ICON_SETUP 500
|
||||
|
||||
#define SFX_TASKBAR_NOTIFICATION WM_USER+1
|
||||
|
@ -124,6 +124,7 @@ static void OnDrawItem(HWND hwnd, LPDRAWITEMSTRUCT lpdis);
|
|||
typedef struct tagMYITEM
|
||||
{
|
||||
OUString text;
|
||||
OUString module;
|
||||
UINT iconId;
|
||||
} MYITEM;
|
||||
|
||||
|
@ -152,7 +153,7 @@ static bool isNT()
|
|||
|
||||
// -------------------------------
|
||||
|
||||
static void addMenuItem( HMENU hMenu, UINT id, UINT iconId, const OUString& text, int& pos, int bOwnerdraw )
|
||||
static void addMenuItem( HMENU hMenu, UINT id, UINT iconId, const OUString& text, int& pos, int bOwnerdraw, const OUString& module )
|
||||
{
|
||||
MENUITEMINFOW mi;
|
||||
memset( &mi, 0, sizeof( MENUITEMINFOW ) );
|
||||
|
@ -175,6 +176,7 @@ static void addMenuItem( HMENU hMenu, UINT id, UINT iconId, const OUString& text
|
|||
MYITEM *pMyItem = new MYITEM;
|
||||
pMyItem->text = text;
|
||||
pMyItem->iconId = iconId;
|
||||
pMyItem->module = module;
|
||||
mi.dwItemData = (DWORD) pMyItem;
|
||||
}
|
||||
else
|
||||
|
@ -245,6 +247,8 @@ static HMENU createSystrayMenu( )
|
|||
{ SvtModuleOptions::E_SMATH, IDM_MATH, ICON_MATH_DOCUMENT, MATH_URL },
|
||||
};
|
||||
|
||||
OUString aEmpty;
|
||||
|
||||
// insert the menu entries for launching the applications
|
||||
for ( size_t i = 0; i < sizeof( aMenuItems ) / sizeof( aMenuItems[0] ); ++i )
|
||||
{
|
||||
|
@ -260,19 +264,21 @@ static HMENU createSystrayMenu( )
|
|||
continue;
|
||||
|
||||
addMenuItem( hMenu, aMenuItems[i].nMenuItemID, aMenuItems[i].nMenuIconID,
|
||||
pShutdownIcon->GetUrlDescription( sURL ), pos, true );
|
||||
pShutdownIcon->GetUrlDescription( sURL ), pos, true, aEmpty );
|
||||
}
|
||||
|
||||
|
||||
|
||||
// insert the remaining menu entries
|
||||
addMenuItem( hMenu, IDM_TEMPLATE, ICON_TEMPLATE,
|
||||
pShutdownIcon->GetResString( STR_QUICKSTART_FROMTEMPLATE ), pos, true);
|
||||
addMenuItem( hMenu, static_cast< UINT >( -1 ), 0, OUString(), pos, false );
|
||||
addMenuItem( hMenu, IDM_OPEN, ICON_OPEN, pShutdownIcon->GetResString( STR_QUICKSTART_FILEOPEN ), pos, true );
|
||||
addMenuItem( hMenu, static_cast< UINT >( -1 ), 0, OUString(), pos, false );
|
||||
pShutdownIcon->GetResString( STR_QUICKSTART_FROMTEMPLATE ), pos, true, aEmpty);
|
||||
addMenuItem( hMenu, static_cast< UINT >( -1 ), 0, OUString(), pos, false, aEmpty );
|
||||
addMenuItem( hMenu, IDM_OPEN, ICON_OPEN, pShutdownIcon->GetResString( STR_QUICKSTART_FILEOPEN ), pos, true, OUString::createFromAscii( "shell32" ));
|
||||
addMenuItem( hMenu, static_cast< UINT >( -1 ), 0, OUString(), pos, false, aEmpty );
|
||||
#endif
|
||||
addMenuItem( hMenu, IDM_INSTALL,0, pShutdownIcon->GetResString( STR_QUICKSTART_PRELAUNCH ), pos, false );
|
||||
addMenuItem( hMenu, static_cast< UINT >( -1 ), 0, OUString(), pos, false );
|
||||
addMenuItem( hMenu, IDM_EXIT, 0, pShutdownIcon->GetResString( STR_QUICKSTART_EXIT ), pos, false );
|
||||
addMenuItem( hMenu, IDM_INSTALL,0, pShutdownIcon->GetResString( STR_QUICKSTART_PRELAUNCH ), pos, false, aEmpty );
|
||||
addMenuItem( hMenu, static_cast< UINT >( -1 ), 0, OUString(), pos, false, aEmpty );
|
||||
addMenuItem( hMenu, IDM_EXIT, 0, pShutdownIcon->GetResString( STR_QUICKSTART_EXIT ), pos, false, aEmpty );
|
||||
|
||||
// indicate status of autostart folder
|
||||
CheckMenuItem( hMenu, IDM_INSTALL, MF_BYCOMMAND | (ShutdownIcon::GetAutostart() ? MF_CHECKED : MF_UNCHECKED) );
|
||||
|
@ -738,9 +744,17 @@ void OnDrawItem(HWND /*hwnd*/, LPDRAWITEMSTRUCT lpdis)
|
|||
|
||||
int cx = GetSystemMetrics( SM_CXSMICON );
|
||||
int cy = GetSystemMetrics( SM_CYSMICON );
|
||||
HICON hIcon = (HICON) LoadImageA( GetModuleHandle( NULL ), MAKEINTRESOURCE( pMyItem->iconId ),
|
||||
IMAGE_ICON, cx, cy,
|
||||
LR_DEFAULTCOLOR | LR_SHARED );
|
||||
HICON hIcon( 0 );
|
||||
|
||||
if ( pMyItem->module.getLength() > 0 )
|
||||
hIcon = (HICON) LoadImageA( GetModuleHandleW( reinterpret_cast<LPCWSTR>( pMyItem->module.getStr() )),
|
||||
MAKEINTRESOURCE( pMyItem->iconId ),
|
||||
IMAGE_ICON, cx, cy,
|
||||
LR_DEFAULTCOLOR | LR_SHARED );
|
||||
else
|
||||
hIcon = (HICON) LoadImageA( GetModuleHandle( NULL ), MAKEINTRESOURCE( pMyItem->iconId ),
|
||||
IMAGE_ICON, cx, cy,
|
||||
LR_DEFAULTCOLOR | LR_SHARED );
|
||||
|
||||
// DrawIconEx( lpdis->hDC, x, y+(height-cy)/2, hIcon, cx, cy, 0, NULL, DI_NORMAL );
|
||||
|
||||
|
|
Loading…
Reference in a new issue