[ros-diffs] [janderwald] 32380: - taskmgr improvements by Carlo Bramix See issue #3075 for more details.
janderwald at svn.reactos.org
janderwald at svn.reactos.org
Fri Feb 15 20:22:56 CET 2008
- Previous message: [ros-diffs] [ros-arm-bringup] 32379: We now define KUSER_SHARED_DATA per architecture, since the address isn't portable. Now SharedUserData works on ARM. Implemented KeAcquireInSTackQueuedSpinLock, KeAcquireInStackQueuedSpinLockRaiseToSYnc and KeReleaseInStackQueuedSpinLock based on x86 UP versions. On ARM, the PCR is fully exposed, so some APIs are always-inlined direct-memory-access (unlike x86 which has the fs selector, and undocumented parts of the PCR). This means we can define several macros -- fixed the headers to allow this, by defining the previous stuff for x86 only. Setup registry data in the ARM loader block. The ARM port boots all the way through ExpInitializeExecutive until reaching MmInit1. The boot-registry is correctly loaded and parsed, as are NLS files!
- Next message: [ros-diffs] [ros-arm-bringup] 32383: On systems with large enough memory (or lots of drivers already loaded), we actually need another PDE to hold the new PTEs to represent the PFN database, since we go past the initial PDEs that come from FreeLDR. On those systems, we would try allocating a new page to hold the PDE, and crash, since the PFN database isn't setup. We now have an MmAllocPageEarly routine which is called during Mm bootstrapping to resolve this issue.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: janderwald
Date: Fri Feb 15 22:22:55 2008
New Revision: 32380
URL: http://svn.reactos.org/svn/reactos?rev=32380&view=rev
Log:
- taskmgr improvements by Carlo Bramix
See issue #3075 for more details.
Modified:
trunk/reactos/base/applications/taskmgr/about.c
trunk/reactos/base/applications/taskmgr/affinity.c
trunk/reactos/base/applications/taskmgr/applpage.c
trunk/reactos/base/applications/taskmgr/applpage.h
trunk/reactos/base/applications/taskmgr/column.c
trunk/reactos/base/applications/taskmgr/endproc.c
trunk/reactos/base/applications/taskmgr/procpage.c
trunk/reactos/base/applications/taskmgr/taskmgr.c
trunk/reactos/base/applications/taskmgr/taskmgr.h
Modified: trunk/reactos/base/applications/taskmgr/about.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/about.c?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/about.c (original)
+++ trunk/reactos/base/applications/taskmgr/about.c Fri Feb 15 22:22:55 2008
@@ -1,7 +1,7 @@
/*
* ReactOS Task Manager
*
- * about.cpp
+ * about.c
*
* Copyright (C) 1999 - 2001 Brian Palmer <brianp at reactos.org>
*
Modified: trunk/reactos/base/applications/taskmgr/affinity.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/affinity.c?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/affinity.c (original)
+++ trunk/reactos/base/applications/taskmgr/affinity.c Fri Feb 15 22:22:55 2008
@@ -1,7 +1,7 @@
/*
* ReactOS Task Manager
*
- * affinity.cpp
+ * affinity.c
*
* Copyright (C) 1999 - 2001 Brian Palmer <brianp at reactos.org>
* 2005 Klemens Friedl <frik85 at reactos.at>
@@ -24,8 +24,6 @@
#include <precomp.h>
HANDLE hProcessAffinityHandle;
-WCHAR szTemp[256];
-WCHAR szTempA[256];
static const DWORD dwCpuTable[] = {
IDC_CPU0, IDC_CPU1, IDC_CPU2, IDC_CPU3,
@@ -46,6 +44,7 @@
ULONG Index;
DWORD dwProcessId;
WCHAR strErrorText[260];
+ WCHAR szTitle[256];
for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++) {
memset(&lvitem, 0, sizeof(LV_ITEM));
@@ -62,8 +61,8 @@
hProcessAffinityHandle = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_SET_INFORMATION, FALSE, dwProcessId);
if (!hProcessAffinityHandle) {
GetLastErrorText(strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
- LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, sizeof(szTemp) / sizeof(WCHAR));
- MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTitle, sizeof(szTitle) / sizeof(WCHAR));
+ MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
return;
}
DialogBoxW(hInst, MAKEINTRESOURCEW(IDD_AFFINITY_DIALOG), hMainWnd, AffinityDialogWndProc);
@@ -79,6 +78,7 @@
DWORD dwProcessAffinityMask = 0;
DWORD dwSystemAffinityMask = 0;
WCHAR strErrorText[260];
+ WCHAR szTitle[256];
BYTE nCpu;
switch (message) {
@@ -91,8 +91,8 @@
if (!GetProcessAffinityMask(hProcessAffinityHandle, &dwProcessAffinityMask, &dwSystemAffinityMask)) {
GetLastErrorText(strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
EndDialog(hDlg, 0);
- LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, sizeof(szTemp) / sizeof(WCHAR));
- MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTitle, sizeof(szTitle) / sizeof(WCHAR));
+ MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
}
for (nCpu=0; nCpu<sizeof(dwCpuTable) / sizeof(dwCpuTable[0]); nCpu++) {
@@ -143,9 +143,9 @@
* of it's cpu time.
*/
if (!dwProcessAffinityMask) {
- LoadStringW(hInst, IDS_MSG_PROCESSONEPRO, szTemp, sizeof(szTemp) / sizeof(WCHAR));
- LoadStringW(hInst, IDS_MSG_INVALIDOPTION, szTempA, sizeof(szTempA) / sizeof(WCHAR));
- MessageBoxW(hDlg, szTemp, szTempA, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_PROCESSONEPRO, strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
+ LoadStringW(hInst, IDS_MSG_INVALIDOPTION, szTitle, sizeof(szTitle) / sizeof(WCHAR));
+ MessageBoxW(hDlg, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
return TRUE;
}
@@ -155,8 +155,8 @@
if (!SetProcessAffinityMask(hProcessAffinityHandle, dwProcessAffinityMask)) {
GetLastErrorText(strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
EndDialog(hDlg, LOWORD(wParam));
- LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, sizeof(szTemp) / sizeof(WCHAR));
- MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTitle, sizeof(szTitle) / sizeof(WCHAR));
+ MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
}
EndDialog(hDlg, LOWORD(wParam));
Modified: trunk/reactos/base/applications/taskmgr/applpage.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/applpage.c?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/applpage.c (original)
+++ trunk/reactos/base/applications/taskmgr/applpage.c Fri Feb 15 22:22:55 2008
@@ -1,7 +1,7 @@
/*
* ReactOS Task Manager
*
- * applicationpage.cpp
+ * applpage.c
*
* Copyright (C) 1999 - 2001 Brian Palmer <brianp at reactos.org>
* 2005 Klemens Friedl <frik85 at reactos.at>
@@ -196,18 +196,13 @@
{
DWORD dwStyle = GetWindowLongW(hApplicationPageListCtrl, GWL_STYLE);
- dwStyle &= ~LVS_REPORT;
- dwStyle &= ~LVS_ICON;
- dwStyle &= ~LVS_LIST;
- dwStyle &= ~LVS_SMALLICON;
-
- if (TaskManagerSettings.View_LargeIcons)
- dwStyle |= LVS_ICON;
- else if (TaskManagerSettings.View_SmallIcons)
- dwStyle |= LVS_SMALLICON;
- else
- dwStyle |= LVS_REPORT;
-
+ dwStyle &= ~(LVS_REPORT | LVS_ICON | LVS_LIST | LVS_SMALLICON);
+
+ switch (TaskManagerSettings.ViewMode) {
+ case ID_VIEW_LARGE: dwStyle |= LVS_ICON; break;
+ case ID_VIEW_SMALL: dwStyle |= LVS_SMALLICON; break;
+ case ID_VIEW_DETAILS: dwStyle |= LVS_REPORT; break;
+ }
SetWindowLongW(hApplicationPageListCtrl, GWL_STYLE, dwStyle);
RefreshApplicationPage();
@@ -265,7 +260,7 @@
if (hWnd == hMainWnd)
return TRUE;
- bLargeIcon = TaskManagerSettings.View_LargeIcons ? TRUE : FALSE;
+ bLargeIcon = (TaskManagerSettings.ViewMode == ID_VIEW_LARGE);
GetWindowTextW(hWnd, szText, 260); /* Get the window text */
@@ -521,13 +516,12 @@
if (pAPLI->bHung)
{
LoadStringW( GetModuleHandleW(NULL), IDS_Not_Responding , szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
- wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax);
}
else
{
LoadStringW( GetModuleHandleW(NULL), IDS_Running, (LPWSTR) szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
- wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax);
}
+ wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax);
}
break;
@@ -591,12 +585,7 @@
hMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_APPLICATION_PAGE_CONTEXT1));
hSubMenu = GetSubMenu(hMenu, 0);
- if (TaskManagerSettings.View_LargeIcons)
- CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
- else if (TaskManagerSettings.View_SmallIcons)
- CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
- else
- CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
+ CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, TaskManagerSettings.ViewMode, MF_BYCOMMAND);
TrackPopupMenu(hSubMenu, TPM_LEFTALIGN|TPM_TOPALIGN|TPM_LEFTBUTTON, pt.x, pt.y, 0, hMainWnd, NULL);
@@ -649,7 +638,7 @@
DestroyMenu(hMenu);
}
-void ApplicationPage_OnViewLargeIcons(void)
+void ApplicationPage_OnView(DWORD dwMode)
{
HMENU hMenu;
HMENU hViewMenu;
@@ -657,47 +646,13 @@
hMenu = GetMenu(hMainWnd);
hViewMenu = GetSubMenu(hMenu, 2);
- TaskManagerSettings.View_LargeIcons = TRUE;
- TaskManagerSettings.View_SmallIcons = FALSE;
- TaskManagerSettings.View_Details = FALSE;
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
+ TaskManagerSettings.ViewMode = dwMode;
+ CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, dwMode, MF_BYCOMMAND);
UpdateApplicationListControlViewSetting();
}
-void ApplicationPage_OnViewSmallIcons(void)
-{
- HMENU hMenu;
- HMENU hViewMenu;
-
- hMenu = GetMenu(hMainWnd);
- hViewMenu = GetSubMenu(hMenu, 2);
-
- TaskManagerSettings.View_LargeIcons = FALSE;
- TaskManagerSettings.View_SmallIcons = TRUE;
- TaskManagerSettings.View_Details = FALSE;
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
-
- UpdateApplicationListControlViewSetting();
-}
-
-void ApplicationPage_OnViewDetails(void)
-{
- HMENU hMenu;
- HMENU hViewMenu;
-
- hMenu = GetMenu(hMainWnd);
- hViewMenu = GetSubMenu(hMenu, 2);
-
- TaskManagerSettings.View_LargeIcons = FALSE;
- TaskManagerSettings.View_SmallIcons = FALSE;
- TaskManagerSettings.View_Details = TRUE;
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
-
- UpdateApplicationListControlViewSetting();
-}
-
-void ApplicationPage_OnWindowsTileHorizontally(void)
+void ApplicationPage_OnWindowsTile(DWORD dwMode)
{
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
LV_ITEM item;
@@ -717,45 +672,14 @@
if (item.state & LVIS_SELECTED) {
pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
-
if (pAPLI) {
hWndArray[nWndCount] = pAPLI->hWnd;
nWndCount++;
}
}
}
- TileWindows(NULL, MDITILE_HORIZONTAL, NULL, nWndCount, hWndArray);
- HeapFree(GetProcessHeap(), 0, hWndArray);
-}
-
-void ApplicationPage_OnWindowsTileVertically(void)
-{
- LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
- LV_ITEM item;
- int i;
- HWND* hWndArray;
- int nWndCount;
-
- hWndArray = (HWND*)HeapAlloc(GetProcessHeap(), 0, sizeof(HWND) * ListView_GetItemCount(hApplicationPageListCtrl));
- nWndCount = 0;
-
- for (i=0; i<ListView_GetItemCount(hApplicationPageListCtrl); i++) {
- memset(&item, 0, sizeof(LV_ITEM));
- item.mask = LVIF_STATE|LVIF_PARAM;
- item.iItem = i;
- item.stateMask = (UINT)-1;
- (void)ListView_GetItem(hApplicationPageListCtrl, &item);
-
- if (item.state & LVIS_SELECTED) {
- pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
- if (pAPLI) {
- hWndArray[nWndCount] = pAPLI->hWnd;
- nWndCount++;
- }
- }
- }
-
- TileWindows(NULL, MDITILE_VERTICAL, NULL, nWndCount, hWndArray);
+
+ TileWindows(NULL, dwMode, NULL, nWndCount, hWndArray);
HeapFree(GetProcessHeap(), 0, hWndArray);
}
Modified: trunk/reactos/base/applications/taskmgr/applpage.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/applpage.h?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/applpage.h (original)
+++ trunk/reactos/base/applications/taskmgr/applpage.h Fri Feb 15 22:22:55 2008
@@ -34,11 +34,8 @@
void RefreshApplicationPage(void);
void UpdateApplicationListControlViewSetting(void);
-void ApplicationPage_OnViewLargeIcons(void);
-void ApplicationPage_OnViewSmallIcons(void);
-void ApplicationPage_OnViewDetails(void);
-void ApplicationPage_OnWindowsTileHorizontally(void);
-void ApplicationPage_OnWindowsTileVertically(void);
+void ApplicationPage_OnView(DWORD);
+void ApplicationPage_OnWindowsTile(DWORD);
void ApplicationPage_OnWindowsMinimize(void);
void ApplicationPage_OnWindowsMaximize(void);
void ApplicationPage_OnWindowsCascade(void);
Modified: trunk/reactos/base/applications/taskmgr/column.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/column.c?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/column.c (original)
+++ trunk/reactos/base/applications/taskmgr/column.c Fri Feb 15 22:22:55 2008
@@ -1,7 +1,7 @@
/*
* ReactOS Task Manager
*
- * column.cpp
+ * column.c
*
* Copyright (C) 1999 - 2001 Brian Palmer <brianp at reactos.org>
* 2005 Klemens Friedl <frik85 at reactos.at>
@@ -24,7 +24,6 @@
#include <precomp.h>
UINT ColumnDataHints[COLUMN_NMAX];
-WCHAR szTemp[256];
#define DECLARE_COLUMN_PRESET(_name, _size, _state) \
{ IDS_TAB_##_name, IDC_##_name, _size, _state },
@@ -57,7 +56,7 @@
DECLARE_COLUMN_PRESET(IOOTHERBYTES, 70, FALSE)
};
-int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem);
+static int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem);
INT_PTR CALLBACK ColumnsDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
void AddColumns(void)
@@ -79,7 +78,7 @@
UpdateColumnDataHints();
}
-int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
+static int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
{
LVCOLUMN column;
@@ -107,6 +106,7 @@
HDITEM hditem;
int i, n;
WCHAR text[260];
+ WCHAR szTemp[256];
LRESULT size;
/* Reset column data */
Modified: trunk/reactos/base/applications/taskmgr/endproc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/endproc.c?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/endproc.c (original)
+++ trunk/reactos/base/applications/taskmgr/endproc.c Fri Feb 15 22:22:55 2008
@@ -23,15 +23,13 @@
#include <precomp.h>
-WCHAR szTemp[256];
-WCHAR szTempA[256];
-
void ProcessPage_OnEndProcess(void)
{
LVITEM lvitem;
ULONG Index;
DWORD dwProcessId;
HANDLE hProcess;
+ WCHAR szTitle[256];
WCHAR strErrorText[260];
for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
@@ -53,9 +51,9 @@
if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
return;
- LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, szTemp, 256);
- LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256);
- if (MessageBoxW(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES)
+ LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
+ LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
+ if (MessageBoxW(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING) != IDYES)
return;
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessId);
@@ -63,16 +61,16 @@
if (!hProcess)
{
GetLastErrorText(strErrorText, 260);
- LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
- MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
+ MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
return;
}
if (!TerminateProcess(hProcess, 0))
{
GetLastErrorText(strErrorText, 260);
- LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
- MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
+ MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
}
CloseHandle(hProcess);
@@ -84,6 +82,7 @@
ULONG Index;
DWORD dwProcessId;
HANDLE hProcess;
+ WCHAR szTitle[256];
WCHAR strErrorText[260];
for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
@@ -105,9 +104,9 @@
if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
return;
- LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, szTemp, 256);
- LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256);
- if (MessageBoxW(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES)
+ LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
+ LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
+ if (MessageBoxW(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING) != IDYES)
return;
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessId);
@@ -115,16 +114,16 @@
if (!hProcess)
{
GetLastErrorText(strErrorText, 260);
- LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
- MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
+ MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
return;
}
if (!TerminateProcess(hProcess, 0))
{
GetLastErrorText(strErrorText, 260);
- LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
- MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
+ LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
+ MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
}
CloseHandle(hProcess);
Modified: trunk/reactos/base/applications/taskmgr/procpage.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/procpage.c?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/procpage.c (original)
+++ trunk/reactos/base/applications/taskmgr/procpage.c Fri Feb 15 22:22:55 2008
@@ -413,7 +413,6 @@
WCHAR strDebugger[260];
DWORD dwDebuggerSize;
HKEY hKey;
- UINT Idx;
memset(&si, 0, sizeof(SYSTEM_INFO));
@@ -460,9 +459,7 @@
dwDebuggerSize = 260;
if (RegQueryValueExW(hKey, L"Debugger", NULL, NULL, (LPBYTE)strDebugger, &dwDebuggerSize) == ERROR_SUCCESS)
{
- for (Idx=0; Idx<wcslen(strDebugger); Idx++)
- strDebugger[Idx] = toupper(strDebugger[Idx]);
-
+ CharUpper(strDebugger);
if (wcsstr(strDebugger, L"DRWTSN32"))
EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
}
Modified: trunk/reactos/base/applications/taskmgr/taskmgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/taskmgr.c?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/taskmgr.c (original)
+++ trunk/reactos/base/applications/taskmgr/taskmgr.c Fri Feb 15 22:22:55 2008
@@ -137,13 +137,9 @@
TaskManager_OnRestoreMainWindow();
break;
case ID_VIEW_LARGE:
- ApplicationPage_OnViewLargeIcons();
- break;
case ID_VIEW_SMALL:
- ApplicationPage_OnViewSmallIcons();
- break;
case ID_VIEW_DETAILS:
- ApplicationPage_OnViewDetails();
+ ApplicationPage_OnView(LOWORD(wParam));
break;
case ID_VIEW_SHOWKERNELTIMES:
PerformancePage_OnViewShowKernelTimes();
@@ -155,16 +151,10 @@
PerformancePage_OnViewCPUHistoryOneGraphPerCPU();
break;
case ID_VIEW_UPDATESPEED_HIGH:
- TaskManager_OnViewUpdateSpeedHigh();
- break;
case ID_VIEW_UPDATESPEED_NORMAL:
- TaskManager_OnViewUpdateSpeedNormal();
- break;
case ID_VIEW_UPDATESPEED_LOW:
- TaskManager_OnViewUpdateSpeedLow();
- break;
case ID_VIEW_UPDATESPEED_PAUSED:
- TaskManager_OnViewUpdateSpeedPaused();
+ TaskManager_OnViewUpdateSpeed(LOWORD(wParam));
break;
case ID_VIEW_SELECTCOLUMNS:
ProcessPage_OnViewSelectColumns();
@@ -173,10 +163,10 @@
PostMessageW(hDlg, WM_TIMER, 0, 0);
break;
case ID_WINDOWS_TILEHORIZONTALLY:
- ApplicationPage_OnWindowsTileHorizontally();
+ ApplicationPage_OnWindowsTile(MDITILE_HORIZONTAL);
break;
case ID_WINDOWS_TILEVERTICALLY:
- ApplicationPage_OnWindowsTileVertically();
+ ApplicationPage_OnWindowsTile(MDITILE_VERTICAL);
break;
case ID_WINDOWS_MINIMIZE:
ApplicationPage_OnWindowsMinimize();
@@ -413,6 +403,22 @@
lpRect->bottom - lpRect->top, clrTopLeft, clrBottomRight);
}
+static void SetUpdateSpeed(HWND hWnd)
+{
+ /* Setup update speed (pause=fall down) */
+ switch (TaskManagerSettings.UpdateSpeed) {
+ case ID_VIEW_UPDATESPEED_HIGH:
+ SetTimer(hWnd, 1, 1000, NULL);
+ break;
+ case ID_VIEW_UPDATESPEED_NORMAL:
+ SetTimer(hWnd, 1, 2000, NULL);
+ break;
+ case ID_VIEW_UPDATESPEED_LOW:
+ SetTimer(hWnd, 1, 4000, NULL);
+ break;
+ }
+}
+
BOOL OnCreate(HWND hWnd)
{
HMENU hMenu;
@@ -537,26 +543,15 @@
else
CheckMenuItem(hEditMenu, ID_OPTIONS_SHOW16BITTASKS, MF_BYCOMMAND|MF_UNCHECKED);
- if (TaskManagerSettings.View_LargeIcons)
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
- else if (TaskManagerSettings.View_SmallIcons)
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
- else
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
+ /* Set the view mode */
+ CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, TaskManagerSettings.ViewMode, MF_BYCOMMAND);
if (TaskManagerSettings.ShowKernelTimes)
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_CHECKED);
else
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_UNCHECKED);
- if (TaskManagerSettings.UpdateSpeed == 1)
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_HIGH, MF_BYCOMMAND);
- else if (TaskManagerSettings.UpdateSpeed == 2)
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_NORMAL, MF_BYCOMMAND);
- else if (TaskManagerSettings.UpdateSpeed == 4)
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_LOW, MF_BYCOMMAND);
- else
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_PAUSED, MF_BYCOMMAND);
+ CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, TaskManagerSettings.UpdateSpeed, MF_BYCOMMAND);
if (TaskManagerSettings.CPUHistory_OneGraphPerCPU)
CheckMenuRadioItem(hCPUHistoryMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, MF_BYCOMMAND);
@@ -569,12 +564,8 @@
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, 2);
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, nActivePage);
- if (TaskManagerSettings.UpdateSpeed == 1)
- SetTimer(hWnd, 1, 1000, NULL);
- else if (TaskManagerSettings.UpdateSpeed == 2)
- SetTimer(hWnd, 1, 2000, NULL);
- else if (TaskManagerSettings.UpdateSpeed == 4)
- SetTimer(hWnd, 1, 4000, NULL);
+ /* Setup update speed */
+ SetUpdateSpeed(hWnd);
/*
* Refresh the performance data
@@ -669,7 +660,7 @@
void LoadSettings(void)
{
HKEY hKey;
- WCHAR szSubKey[] = L"Software\\ReactWare\\TaskManager";
+ WCHAR szSubKey[] = L"Software\\ReactOS\\TaskManager";
int i;
DWORD dwSize;
@@ -690,12 +681,10 @@
TaskManagerSettings.Show16BitTasks = TRUE;
/* Update speed settings */
- TaskManagerSettings.UpdateSpeed = 2;
+ TaskManagerSettings.UpdateSpeed = ID_VIEW_UPDATESPEED_NORMAL;
/* Applications page settings */
- TaskManagerSettings.View_LargeIcons = FALSE;
- TaskManagerSettings.View_SmallIcons = FALSE;
- TaskManagerSettings.View_Details = TRUE;
+ TaskManagerSettings.ViewMode = ID_VIEW_DETAILS;
/* Processes page settings */
TaskManagerSettings.ShowProcessesFromAllUsers = FALSE; /* Server-only? */
@@ -735,8 +724,8 @@
{
HKEY hKey;
WCHAR szSubKey1[] = L"Software";
- WCHAR szSubKey2[] = L"Software\\ReactWare";
- WCHAR szSubKey3[] = L"Software\\ReactWare\\TaskManager";
+ WCHAR szSubKey2[] = L"Software\\ReactOS";
+ WCHAR szSubKey3[] = L"Software\\ReactOS\\TaskManager";
/* Open (or create) the key */
hKey = NULL;
@@ -819,7 +808,7 @@
SendMessageW(hStatusWnd, SB_SETTEXT, 0, (LPARAM)str);
}
-void TaskManager_OnViewUpdateSpeedHigh(void)
+void TaskManager_OnViewUpdateSpeed(DWORD dwSpeed)
{
HMENU hMenu;
HMENU hViewMenu;
@@ -829,64 +818,17 @@
hViewMenu = GetSubMenu(hMenu, 2);
hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
- TaskManagerSettings.UpdateSpeed = 1;
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_HIGH, MF_BYCOMMAND);
+ TaskManagerSettings.UpdateSpeed = dwSpeed;
+ CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, dwSpeed, MF_BYCOMMAND);
KillTimer(hMainWnd, 1);
- SetTimer(hMainWnd, 1, 500, NULL);
-}
-
-void TaskManager_OnViewUpdateSpeedNormal(void)
-{
- HMENU hMenu;
- HMENU hViewMenu;
- HMENU hUpdateSpeedMenu;
-
- hMenu = GetMenu(hMainWnd);
- hViewMenu = GetSubMenu(hMenu, 2);
- hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
-
- TaskManagerSettings.UpdateSpeed = 2;
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_NORMAL, MF_BYCOMMAND);
-
- KillTimer(hMainWnd, 1);
- SetTimer(hMainWnd, 1, 2000, NULL);
-}
-
-void TaskManager_OnViewUpdateSpeedLow(void)
-{
- HMENU hMenu;
- HMENU hViewMenu;
- HMENU hUpdateSpeedMenu;
-
- hMenu = GetMenu(hMainWnd);
- hViewMenu = GetSubMenu(hMenu, 2);
- hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
-
- TaskManagerSettings.UpdateSpeed = 4;
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_LOW, MF_BYCOMMAND);
-
- KillTimer(hMainWnd, 1);
- SetTimer(hMainWnd, 1, 4000, NULL);
+
+ SetUpdateSpeed(hMainWnd);
}
void TaskManager_OnViewRefresh(void)
{
PostMessageW(hMainWnd, WM_TIMER, 0, 0);
-}
-
-void TaskManager_OnViewUpdateSpeedPaused(void)
-{
- HMENU hMenu;
- HMENU hViewMenu;
- HMENU hUpdateSpeedMenu;
-
- hMenu = GetMenu(hMainWnd);
- hViewMenu = GetSubMenu(hMenu, 2);
- hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
- TaskManagerSettings.UpdateSpeed = 0;
- CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_PAUSED, MF_BYCOMMAND);
- KillTimer(hMainWnd, 1);
}
void TaskManager_OnTabWndSelChange(void)
@@ -933,12 +875,8 @@
DrawMenuBar(hMainWnd);
}
- if (TaskManagerSettings.View_LargeIcons)
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
- else if (TaskManagerSettings.View_SmallIcons)
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
- else
- CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
+ CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, TaskManagerSettings.ViewMode, MF_BYCOMMAND);
+
/*
* Give the application list control focus
*/
Modified: trunk/reactos/base/applications/taskmgr/taskmgr.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/taskmgr.h?rev=32380&r1=32379&r2=32380&view=diff
==============================================================================
--- trunk/reactos/base/applications/taskmgr/taskmgr.h (original)
+++ trunk/reactos/base/applications/taskmgr/taskmgr.h Fri Feb 15 22:22:55 2008
@@ -68,12 +68,10 @@
/* Update speed settings */
/* How many half-seconds in between updates (i.e. 0 - Paused, 1 - High, 2 - Normal, 4 - Low) */
- int UpdateSpeed;
+ DWORD UpdateSpeed;
/* Applications page settings */
- BOOL View_LargeIcons;
- BOOL View_SmallIcons;
- BOOL View_Details;
+ DWORD ViewMode;
/* Processes page settings */
BOOL ShowProcessesFromAllUsers; /* Server-only? */
@@ -115,10 +113,7 @@
void TaskManager_OnEnterMenuLoop(HWND hWnd);
void TaskManager_OnExitMenuLoop(HWND hWnd);
void TaskManager_OnMenuSelect(HWND hWnd, UINT nItemID, UINT nFlags, HMENU hSysMenu);
-void TaskManager_OnViewUpdateSpeedHigh(void);
-void TaskManager_OnViewUpdateSpeedNormal(void);
-void TaskManager_OnViewUpdateSpeedLow(void);
-void TaskManager_OnViewUpdateSpeedPaused(void);
+void TaskManager_OnViewUpdateSpeed(DWORD);
void TaskManager_OnViewRefresh(void);
void TaskManager_OnTabWndSelChange(void);
LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
- Previous message: [ros-diffs] [ros-arm-bringup] 32379: We now define KUSER_SHARED_DATA per architecture, since the address isn't portable. Now SharedUserData works on ARM. Implemented KeAcquireInSTackQueuedSpinLock, KeAcquireInStackQueuedSpinLockRaiseToSYnc and KeReleaseInStackQueuedSpinLock based on x86 UP versions. On ARM, the PCR is fully exposed, so some APIs are always-inlined direct-memory-access (unlike x86 which has the fs selector, and undocumented parts of the PCR). This means we can define several macros -- fixed the headers to allow this, by defining the previous stuff for x86 only. Setup registry data in the ARM loader block. The ARM port boots all the way through ExpInitializeExecutive until reaching MmInit1. The boot-registry is correctly loaded and parsed, as are NLS files!
- Next message: [ros-diffs] [ros-arm-bringup] 32383: On systems with large enough memory (or lots of drivers already loaded), we actually need another PDE to hold the new PTEs to represent the PFN database, since we go past the initial PDEs that come from FreeLDR. On those systems, we would try allocating a new page to hold the PDE, and crash, since the PFN database isn't setup. We now have an MmAllocPageEarly routine which is called during Mm bootstrapping to resolve this issue.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Ros-diffs
mailing list