hr = _pShellView->CreateViewWindow(NULL, &fs, this, &rect, &hWndView);
- //TODO: use IShellBrowser::GetViewStateStream() to restore previous view state -> see SHOpenRegStream()
+ ///@todo use IShellBrowser::GetViewStateStream() to restore previous view state -> see SHOpenRegStream()
if (SUCCEEDED(hr)) {
_pShellView->UIActivate(SVUIA_ACTIVATE_FOCUS);
case WM_DESTROY:
- //TODO: use IShellBrowser::GetViewStateStream() and _pShellView->SaveViewState() to store view state
+ ///@todo use IShellBrowser::GetViewStateStream() and _pShellView->SaveViewState() to store view state
if (SetShellWindow)
SetShellWindow(0);
String lwr_path = cache_entry._path;
String lwr_name = cache_entry._shell_entry->_display_name;
-#ifndef __WINE__ //TODO
+#ifndef __WINE__ ///@todo
_tcslwr((LPTSTR)lwr_path.c_str());
_tcslwr((LPTSTR)lwr_name.c_str());
#endif
Lock lock(_thread._crit_sect);
int count = ListView_GetSelectedCount(_list_ctrl);
- //TODO: ask user if there are many selected items
+ ///@todo ask user if there are many selected items
for(int idx=-1; (idx=ListView_GetNextItem(_list_ctrl, idx, LVNI_SELECTED))!=-1; ) {
LPARAM lparam = ListView_GetItemData(_list_ctrl, idx);
if (cmdshow != SW_HIDE) {
/* // don't maximize if being called from the ROS desktop
if (cmdshow == SW_SHOWNORMAL)
- //TODO: read window placement from registry
+ ///@todo read window placement from registry
cmdshow = SW_MAXIMIZE;
*/
ResString(UINT nid);
};
- ///
+ /// convenient loading of standard (32x32) icon resources
struct ResIcon
{
ResIcon(UINT nid);
HICON _hIcon;
};
+ /// convenient loading of small (16x16) icon resources
struct SmallIcon
{
SmallIcon(UINT nid);
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -java make docu"
# PROP Rebuild_Opt "full-docu"
-# PROP Target_File "doxy-doc\html\index.html"
+# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
_root._entry->_data.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY;
- if (info._open_mode & OWM_EXPLORE) //TODO: Is not-explore-mode for FileChildWindow completely implemented?
+ if (info._open_mode & OWM_EXPLORE) ///@todo Is not-explore-mode for FileChildWindow completely implemented?
_left_hwnd = *(_left=new Pane(_hwnd, IDW_TREE_LEFT, IDW_HEADER_LEFT, _root._entry, true, 0));
_right_hwnd = *(_right=new Pane(_hwnd, IDW_TREE_RIGHT, IDW_HEADER_RIGHT, NULL, false, COL_SIZE|COL_DATE|COL_TIME|COL_ATTRIBUTES|COL_INDEX|COL_LINKS));
ListBox_SetCurSel(_left_hwnd, idx);
}
- //TODO: scroll to visibility
+ ///@todo scroll to visibility
}
};
-struct ExecuteDialog { // TODO: integrate dialogs with Window class
+struct ExecuteDialog { ///@todo use class Dialog
TCHAR cmd[MAX_PATH];
int cmdshow;
shell_path = path; // create as "rooted" window
}
} else {
- //TODO: read paths and window placements from registry
+ ///@todo read paths and window placements from registry
GetCurrentDirectory(MAX_PATH, buffer);
path = buffer;
}
return 0;
}
- GetCurrentDirectory(MAX_PATH, path); //TODO: store last directory per drive
+ GetCurrentDirectory(MAX_PATH, path); ///@todo store last directory per drive
#ifndef _NO_MDI
FileChildWindow::create(_hmdiclient, FileChildWndInfo(path));
#else
- //TODO: SDI implementation
+ ///@todo SDI implementation
#endif
return 1;
}
#ifndef _NO_MDI
FileChildWindow::create(_hmdiclient, FileChildWndInfo(path));
#else
- //TODO: SDI implementation
+ ///@todo SDI implementation
#endif
break;}
#ifndef _NO_MDI
FileChildWindow::create(_hmdiclient, FileChildWndInfo(path));
#else
- //TODO: SDI implementation
+ ///@todo SDI implementation
#endif
break;}
#endif
#ifndef _NO_MDI
FileChildWindow::create(_hmdiclient, ShellChildWndInfo(path,DesktopFolderPath()));
#else
- //TODO: SDI implementation
+ ///@todo SDI implementation
#endif
break;}
ShellBrowserChild::create(_hmdiclient, ShellChildWndInfo(path,DesktopFolderPath()));
break;}
- //TODO: There are even more menu items!
+ ///@todo There are even more menu items!
case ID_ABOUT:
ShellAbout(_hwnd, ResString(IDS_TITLE), NULL, 0);
break;
default:
- /*TODO: if (wParam >= PM_FIRST_LANGUAGE && wParam <= PM_LAST_LANGUAGE)
+ /*@todo if (wParam >= PM_FIRST_LANGUAGE && wParam <= PM_LAST_LANGUAGE)
STRING_SelectLanguageByNumber(wParam - PM_FIRST_LANGUAGE);
else */if ((id<IDW_FIRST_CHILD || id>=IDW_FIRST_CHILD+0x100) &&
(id<SC_SIZE || id>SC_RESTORE))
child->set_focus_pane(this);
ListBox_SetSel(_hwnd, TRUE, 1);
- /*TODO: check menu items */
+ /*@todo check menu items */
break;}
case WM_KEYDOWN: {
FileChildWindow* child = (FileChildWindow*) SendMessage(GetParent(_hwnd), PM_GET_FILEWND_PTR, 0, 0);
if (wparam == VK_TAB) {
- /*TODO: SetFocus(g_Globals.hdrivebar) */
+ /*@todo SetFocus(g_Globals.hdrivebar) */
child->switch_focus_pane();
}
break;}
bool Pane::create_header(HWND hparent, int id)
{
- HWND hwnd = CreateWindow(WC_HEADER, 0, WS_CHILD|WS_VISIBLE|HDS_HORZ/*TODO: |HDS_BUTTONS + sort orders*/,
+ HWND hwnd = CreateWindow(WC_HEADER, 0, WS_CHILD|WS_VISIBLE|HDS_HORZ/*@todo |HDS_BUTTONS + sort orders*/,
0, 0, 0, 0, hparent, (HMENU)id, g_Globals._hInstance, 0);
if (!hwnd)
return false;
if (calcWidthCol == -1)
_out_wrkr.output_number(dis, _positions, col, buffer);
else if (calcWidthCol==col || calcWidthCol==COLUMNS)
- calc_width(dis, col, buffer); // TODO: not ever time enough
+ calc_width(dis, col, buffer); ///@todo not in every case time enough
++col;
}
InvalidateRect(_hwnd, 0, TRUE);
break;}
- /* TODO: more command ids... */
+ /*@todo more command ids... */
default:
return FALSE;
//@@ _root._entry->read_tree(shell_info._root_shell_path.get_folder(), info._shell_path, SORT_NAME/*_sortOrder*/);
-/* TODO:
+/*@todo
we should call read_tree() here to iterate through the hierarchy and open all folders from shell_info._root_shell_path to shell_info._shell_path
-> see FileChildWindow::FileChildWindow()
*/
/*
if (lpdi->item.mask & TVIF_TEXT)
if (SHGetFileInfo((LPCTSTR)pidl, 0, &sfi, sizeof(sfi), SHGFI_PIDL|SHGFI_DISPLAYNAME))
- lstrcpy(lpdi->item.pszText, sfi.szDisplayName); //TODO: look at cchTextMax if there is enough space available
+ lstrcpy(lpdi->item.pszText, sfi.szDisplayName); ///@todo look at cchTextMax if there is enough space available
else
lpdi->item.pszText = entry->_data.cFileName;
*/
ChildWindow* child = ChildWindow::create(hmdiclient, info._pos.rcNormalPosition,
WINDOW_CREATOR_INFO(ShellBrowserChild,ShellChildWndInfo), CLASSNAME_CHILDWND, NULL, &info);
#else
- //TODO: SDI implementation
+ ///@todo SDI implementation
#endif
ShowWindow(*child, info._pos.showCmd);
// register hotkey WIN+E opening explorer
RegisterHotKey(_hwnd, 0, MOD_WIN, 'E');
- //TODO: register all common hotkeys
+ ///@todo register all common hotkeys
}
void DesktopBar::ProcessHotKey(int id_hotkey)
{
switch(id_hotkey) {
case 0: explorer_show_frame(_hwnd, SW_SHOWNORMAL); break;
- //TODO: implement all common hotkeys
+ ///@todo implement all common hotkeys
}
}
int DesktopBar::Command(int id, int code)
{
switch(id) {
- case IDC_START: //TODO: startmenu should popup for WM_LBUTTONDOWN, not for WM_COMMAND
+ case IDC_START: ///@todo startmenu should popup for WM_LBUTTONDOWN, not for WM_COMMAND
ShowStartMenu();
break;
if (pcd->dwData == 1) {
TrayNotifyCDS* ptr = (TrayNotifyCDS*) pcd->lpData;
- //TODO: process the differnt versions of the NOTIFYICONDATA structure (look at cbSize to decide which one)
+ ///@todo process the differnt versions of the NOTIFYICONDATA structure (look at cbSize to decide which one)
NotifyArea* notify_area = GET_WINDOW(NotifyArea, _hwndNotify);
// create a floating copy of the current start menu
WindowRect pos(_hwnd);
- //TODO: do something similar to StartMenuRoot::TrackStartmenu() in order to automatically close submenus when clicking on the desktop background
+ ///@todo do something similar to StartMenuRoot::TrackStartmenu() in order to automatically close submenus when clicking on the desktop background
StartMenu::Create(pos.left+3, pos.bottom-3, _create_info._folders, 0, _create_info._title, _create_info._creator);
CloseStartMenu();
}
CloseStartMenu();
break;
- case PM_STARTENTRY_FOCUSED: { //TODO: use TrackMouseEvent() and WM_MOUSEHOVER to wait a bit before opening submenus
+ case PM_STARTENTRY_FOCUSED: { ///@todo use TrackMouseEvent() and WM_MOUSEHOVER to wait a bit before opening submenus
BOOL hasSubmenu = wparam;
HWND hctrl = (HWND)lparam;
for(ShellEntryMap::iterator it=_entries.begin(); it!=_entries.end(); ++it) {
StartMenuEntry& sme = it->second;
- if (sme._title == entry_name) //TODO: speed up by using a map indexed by name
+ if (sme._title == entry_name) ///@todo speed up by using a map indexed by name
for(ShellEntrySet::iterator it2=sme._entries.begin(); it2!=sme._entries.end(); ++it2) {
if ((*it2)->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
// merge the new shell entry with the existing of the same name
// If the entry is no subdirectory, there can only be one shell entry.
assert(entries.size()==1);
- entry->launch_entry(_hwnd); //TODO: launch in the background; specify correct HWND for error message box titles
+ entry->launch_entry(_hwnd); ///@todo launch in the background; specify correct HWND for error message box titles
// close start menus after launching the selected entry
CloseStartMenu(id);
void StartMenuRoot::ShowLaunchDialog(HWND hwndDesktopBar)
{
- //TODO: All text phrases should be put into the resources.
+ ///@todo All text phrases should be put into the resources.
static LPCSTR szTitle = "Create New Task";
static LPCSTR szText = "Type the name of a program, folder, document, or Internet resource, and Task Manager will open it for you.";
static DynamicFct<RESTARTWINDOWSDLG> RestartDlg(TEXT("SHELL32"), 59);
if (RestartDlg)
- (*RestartDlg)(hwndOwner, (LPWSTR)L"You selected <Log Off>.\n\n", flags); //TODO: ANSI string conversion if needed
+ (*RestartDlg)(hwndOwner, (LPWSTR)L"You selected <Log Off>.\n\n", flags); ///@todo ANSI string conversion if needed
}
void StartMenuRoot::ShowSearchDialog()
break;
case IDC_DRIVES:
- //TODO: exclude removeable drives
+ ///@todo exclude removeable drives
CreateSubmenu(id, CSIDL_DRIVES, ResString(IDS_DRIVES));
break;
}
dir.sort_directory(SORT_DATE);
- AddShellEntries(dir, 16, smd._subfolders); //TODO: read max. count of entries from registry
+ AddShellEntries(dir, 16, smd._subfolders); ///@todo read max. count of entries from registry
}
}
_dwState = (_dwState&~pnid->dwStateMask) | (pnid->dwState&pnid->dwStateMask);
#endif
- //TODO: store and display tool tip texts
+ ///@todo store and display tool tip texts
return *this;
}
switch(notify_code) {
case NIM_ADD:
case NIM_MODIFY:
- if ((int)pnid->uID >= 0) { //TODO: fix for windows task manager
+ if ((int)pnid->uID >= 0) { ///@todo fix for windows task manager
NotifyInfo& entry = _icon_map[pnid] = pnid;
// a new entry?
if (entry._idx == -1)
entry._idx = ++_next_idx;
- Refresh(); //TODO: call only if really changes occurred
+ Refresh(); ///@todo call only if really changes occurred
}
break;
{
// copy the file or dir
- //TODO: Add the code to handle Copy
+ ///@todo Add the code to handle Copy
}
else if (DROPEFFECT_MOVE & *pdwEffect)
{
// move the file or dir
- //TODO: Add the code to handle Move
+ ///@todo Add the code to handle Move
}
}
/// wait cursor
-struct WaitCursor //TODO: integrate with WM_SETCURSOR to enable multithreaded background tasks as program launching
+struct WaitCursor ///@todo integrate with WM_SETCURSOR to enable multithreaded background tasks as program launching
{
WaitCursor()
{
if (calcWidthCol == -1)
output_number(pane, dis, col, buffer);
else if (calcWidthCol==col || calcWidthCol==COLUMNS)
- calc_width(pane, dis, col, buffer);/*TODO: not ever time enough */
+ calc_width(pane, dis, col, buffer);/*TODO: not in every case time enough */
}
col++;