Todo List

Member _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd)

save previous shell application in config file

save previous shell application in config file

Member BackgroundWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
Changing the PaintDesktopVersion-Flag needs a restart of the shell -> display a message box

Member BookmarkList::import_IE_favorites (struct ShellDirectory &dir, HWND hwnd)
read shell links

Member BrowserNavigator::navigated (LPCTSTR url)
move this into DocumentComplete() ?

Member ChildWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)

Member Context::s_main
use TLS

Member DesktopBar::ControlResize (WPARAM wparam, LPARAM lparam)

write code for taskbar being at sides or top.

Taskbar is at the top of the screen

Taskbar is at the left of the screen

Taskbar is at the right of the screen

Member DesktopBar::ProcessHotKey (int id_hotkey)
implement all common hotkeys

Member DesktopBar::RegisterHotkeys ()
register all common hotkeys

Member DesktopBar::Resize (int cx, int cy)
general children resizing algorithm

Member DesktopBar::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
read desktop bar settings

Member DesktopDropTarget::OnDrop (FORMATETC *pFmtEtc, STGMEDIUM &medium, DWORD *pdwEffect)

Add the code to handle Copy

Add the code to handle Move

Member DesktopShellView::PositionIcons (int dir=1)

Member DesktopShellView::refresh ()

Member DesktopWindow::Init (LPCREATESTRUCT pcs)
use IShellBrowser::GetViewStateStream() to restore previous view state -> see SHOpenRegStream()

Member DesktopWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
use IShellBrowser::GetViewStateStream() and _pShellView->SaveViewState() to store view state

Member Dialog::DoModal (UINT nid, CREATORFUNC creator, HWND hwndParent=0)
call Window::pretranslate_msg()

Member Dialog::DoModal (UINT nid, CREATORFUNC_INFO creator, const void *info, HWND hwndParent=0)
call Window::pretranslate_msg()

Member Entry::read_directory_base (SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0)
_prescan_nodes should not be used for reading the start menu.

Member Entry::smart_scan (SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0)
We could use IShellFolder2::GetDefaultColumn to determine sort order.

Member ExecuteDialog::cmd [MAX_PATH]
use class Dialog

Member FATDrive::get_cache_buffer ()
enable write back if (CacheDty[j]) // Dirty-Flag gesetzt? if (writesec(_CacheSec[j], (Buffer*) &_FATCache[j], 1)) FPara = _CacheSec[j], Frag(SecWriteErr);

Member FATDrive::read_FAT (DWORD Clus, bool &ok)
cache result

Member FileChildWindow::activate_entry (Pane *pane)
enable using RETURN key accelerator

Member FileChildWindow::FileChildWindow (HWND hwnd, const FileChildWndInfo &info)

use OWM_ROOTED flag

Is not-explore-mode for FileChildWindow completely implemented?

Member FileChildWindow::jump_to_int (LPCTSTR url)
use fname

Member FileChildWindow::scan_entry (Entry *entry)
use modifyable sort order instead of fixed file system default

Member FileChildWindow::set_curdir (Entry *entry)
make configurable (This call takes really _very_ long compared to all other processing!)

Member FindProgramDlg::CheckEntries ()
check all entries for existing targets, display a list of not working entries and ask the user for permission to delete them

Member IconCache::extract (LPCTSTR path, ICONCACHE_FLAGS flags=ICF_NORMAL)

limit cache size

limit cache size

Member IconCache::extract (LPCTSTR path, int icon_idx, ICONCACHE_FLAGS flags=ICF_HICON)
retreive "http://.../favicon.ico" format icons

Member IconCache::extract (LPCITEMIDLIST pidl, ICONCACHE_FLAGS flags=ICF_NORMAL)

limit cache size

limit cache size

Member IShellBrowserImpl::Exec (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
implement IOleCommandTarget

Member IShellBrowserImpl::QueryService (REFGUID guidService, REFIID riid, void **ppvObject)
use guidService

Member IShellBrowserImpl::QueryStatus (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
implement IOleCommandTarget

Member MainFrameBase::ExecuteCommandbar (LPCTSTR dir)
use SHGetFileInfo() with SHGFI_EXETYPE flag to determine EXE type and open console window

Member MainFrameBase::go_to (LPCTSTR url, bool new_window)
SDI implementation

Member MainFrameBase::ProcessMessage (UINT nmsg, WPARAM wparam, LPARAM lparam, LRESULT *pres)
Work around to display rebar in ROS (with flickering) as long as the control isn't fixed

Member MainFrameBase::resize_frame (int cx, int cy)
use split bar

Member MDIMainFrame::Command (int id, int code)

store last directory per drive

prompt for image file

There are even more menu items!

Member MDIMainFrame::resize_frame (int cx, int cy)
use split bar

Member MDIMainFrame::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
read paths and window placements from registry

Member MDIShellBrowserChild::jump_to_int (LPCTSTR url)
use fname

Member MDIShellBrowserChild::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
refresh shell child

Member NotifyArea::ProcessTrayNotification (int notify_code, NOTIFYICONDATA *pnid)

This is a fix for Windows Task Manager.

call only if really changes occurred

Member NotifyArea::read_config ()

read default setting from registry

read default setting from registry

Member NotifyInfo::modify (NOTIFYICONDATA *pnid)
compare icon

Member Pane::draw_item (LPDRAWITEMSTRUCT dis, Entry *entry, int calcWidthCol=-1)
not in every case time enough

Member QuickLaunchBar::AddShortcuts ()
perhaps also look into CSIDL_COMMON_APPDATA ?

Member RecentStartMenu::AddEntries ()
read max. count of entries from registry

Member RegDirectory::read_directory (int scan_flags=0)
This can also be done in the RegEnumValue() call if we dynamically adjust the return buffer size.

Member SDIMainFrame::_split_pos
focus handling for TAB switching int _focus_pane; // 0: left 1: right

Member SDIMainFrame::resize_frame (int cx, int cy)
use split bar

Member SDIMainFrame::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)

read paths and window placements from registry

content of 'path' not used any more

Member ShellBrowser::MessageSFVCB (UINT uMsg, WPARAM wParam, LPARAM lParam)
never reached

Member ShellBrowser::OnDefaultCommand (LPIDA pida)
look for hidden or new subfolders and refresh/add new entry instead of opening a new window

Member ShellBrowser::refresh ()

Member StartMenu::ActivateEntry (int id, const ShellEntrySet &entries)

If the user explicitly clicked on a submenu, display this folder as floating start menu.

launch in the background; specify correct HWND for error message box titles

Member StartMenu::AddEntry (const String &title, ICON_ID icon_id, Entry *entry)
speed up by using a map indexed by name

Member StartMenu::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)

do something similar to StartMenuRoot::TrackStartmenu() in order to automatically close submenus when clicking on the desktop background

refresh on successfull context menu execution?

handle context menu for more than one entry

Member StartMenuHandler::Command (int id, int code)

use printer start menu folder per default and allow opening "printers" cabinet window using the context menu

to be removed when network browsing will be implemented in shell namespace

exclude removable drives

Member StartMenuHandler::ShowSearchComputer ()
to be removed when SHFindComputer() will be implemented in shell32.dll

Member StartMenuHandler::ShowSearchDialog ()
to be removed when SHFindFiles() will be implemented in shell32.dll

Member ToolTip::add (HWND hparent, HWND htool, LPCTSTR txt=LPSTR_TEXTCALLBACK, LPARAM lparam=0)
Why is it neccesary to try both TTM_ADDTOOLW and TTM_ADDTOOLW ?!

Member TrayNotifyDlg::Refresh ()
refresh incrementally

Member TrayNotifyDlg::SetIconMode (NOTIFYICONMODE mode)
select treeview item at new position in tree view -> refresh HTREEITEM in _selectedItem

Member TreeDropTarget::OnDrop (FORMATETC *pFmtEtc, STGMEDIUM &medium, DWORD *pdwEffect)

Add the code to handle Copy

Add the code to handle Move

Class WaitCursor
integrate with WM_SETCURSOR to enable multithreaded background tasks as program launching

Member WebChildWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)

ROS Explorer Source Code Documentation
generated on 02.01.2013 by doxygen

ROS Explorer Homepage