| Index: chrome/browser/ui/views/about_ipc_dialog.cc
|
| ===================================================================
|
| --- chrome/browser/ui/views/about_ipc_dialog.cc (revision 68536)
|
| +++ chrome/browser/ui/views/about_ipc_dialog.cc (working copy)
|
| @@ -59,7 +59,7 @@
|
| class RegisterLoggerFuncs {
|
| public:
|
| RegisterLoggerFuncs() {
|
| - IPC::Logging::SetLoggerFunctions(g_log_function_mapping);
|
| + IPC::Logging::set_log_function_map(&g_log_function_mapping);
|
| }
|
| };
|
|
|
| @@ -75,46 +75,9 @@
|
|
|
| bool init_done = false;
|
| HWND settings_dialog = NULL;
|
| +// Settings.
|
| +CListViewCtrl* messages = NULL;
|
|
|
| -// Settings lists.
|
| -struct Settings {
|
| - CListViewCtrl* view;
|
| - CListViewCtrl* view_host;
|
| - CListViewCtrl* plugin;
|
| - CListViewCtrl* plugin_host;
|
| - CListViewCtrl* npobject;
|
| - CListViewCtrl* plugin_process;
|
| - CListViewCtrl* plugin_process_host;
|
| - CListViewCtrl* devtools_agent;
|
| - CListViewCtrl* devtools_client;
|
| -
|
| -} settings_views = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
|
| -
|
| -void CreateColumn(uint32 start, uint32 end, HWND hwnd,
|
| - CListViewCtrl** control) {
|
| - DCHECK(*control == NULL);
|
| - *control = new CListViewCtrl(hwnd);
|
| - CListViewCtrl* control_ptr = *control;
|
| - control_ptr->SetViewType(LVS_REPORT);
|
| - control_ptr->SetExtendedListViewStyle(LVS_EX_CHECKBOXES);
|
| - control_ptr->ModifyStyle(0, LVS_SORTASCENDING | LVS_NOCOLUMNHEADER);
|
| - control_ptr->InsertColumn(0, L"id", LVCFMT_LEFT, 230);
|
| -
|
| - for (uint32 i = start; i < end; i++) {
|
| - std::string name;
|
| - IPC::Logging::GetMessageText(i, &name, NULL, NULL);
|
| - std::wstring wname = UTF8ToWide(name);
|
| -
|
| - int index = control_ptr->InsertItem(
|
| - LVIF_TEXT | LVIF_PARAM, 0, wname.c_str(), 0, 0, 0, i);
|
| -
|
| - control_ptr->SetItemText(index, 0, wname.c_str());
|
| -
|
| - if (disabled_messages.find(i) == disabled_messages.end())
|
| - control_ptr->SetCheckState(index, TRUE);
|
| - }
|
| -}
|
| -
|
| void OnCheck(int id, bool checked) {
|
| if (!init_done)
|
| return;
|
| @@ -125,58 +88,38 @@
|
| disabled_messages.insert(id);
|
| }
|
|
|
| +void InitDialog(HWND hwnd) {
|
| + messages = new CListViewCtrl(::GetDlgItem(hwnd, IDC_Messages));
|
|
|
| -void CheckButtons(CListViewCtrl* control, bool check) {
|
| - int count = control->GetItemCount();
|
| - for (int i = 0; i < count; ++i)
|
| - control->SetCheckState(i, check);
|
| -}
|
| + messages->SetViewType(LVS_REPORT);
|
| + messages->SetExtendedListViewStyle(LVS_EX_CHECKBOXES);
|
| + messages->ModifyStyle(0, LVS_SORTASCENDING | LVS_NOCOLUMNHEADER);
|
| + messages->InsertColumn(0, L"id", LVCFMT_LEFT, 230);
|
|
|
| -void InitDialog(HWND hwnd) {
|
| - CreateColumn(ViewStart, ViewEnd, ::GetDlgItem(hwnd, IDC_View),
|
| - &settings_views.view);
|
| - CreateColumn(ViewHostStart, ViewHostEnd, ::GetDlgItem(hwnd, IDC_ViewHost),
|
| - &settings_views.view_host);
|
| - CreateColumn(PluginStart, PluginEnd, ::GetDlgItem(hwnd, IDC_Plugin),
|
| - &settings_views.plugin);
|
| - CreateColumn(PluginHostStart, PluginHostEnd,
|
| - ::GetDlgItem(hwnd, IDC_PluginHost),
|
| - &settings_views.plugin_host);
|
| - CreateColumn(NPObjectStart, NPObjectEnd, ::GetDlgItem(hwnd, IDC_NPObject),
|
| - &settings_views.npobject);
|
| - CreateColumn(PluginProcessStart, PluginProcessEnd,
|
| - ::GetDlgItem(hwnd, IDC_PluginProcess),
|
| - &settings_views.plugin_process);
|
| - CreateColumn(PluginProcessHostStart, PluginProcessHostEnd,
|
| - ::GetDlgItem(hwnd, IDC_PluginProcessHost),
|
| - &settings_views.plugin_process_host);
|
| - CreateColumn(DevToolsAgentStart, DevToolsAgentEnd,
|
| - ::GetDlgItem(hwnd, IDC_DevToolsAgent),
|
| - &settings_views.devtools_agent);
|
| - CreateColumn(DevToolsClientStart, DevToolsClientEnd,
|
| - ::GetDlgItem(hwnd, IDC_DevToolsClient),
|
| - &settings_views.devtools_client);
|
| + LogFunctionMap* log_functions = IPC::Logging::log_function_map();
|
| + for (LogFunctionMap::iterator i = log_functions->begin();
|
| + i != log_functions->end(); ++i) {
|
| + std::string name;
|
| + (*i->second)(&name, NULL, NULL);
|
| + if (name.empty())
|
| + continue; // Will happen if the message file isn't included above.
|
| + std::wstring wname = UTF8ToWide(name);
|
| +
|
| + int index = messages->InsertItem(
|
| + LVIF_TEXT | LVIF_PARAM, 0, wname.c_str(), 0, 0, 0, i->first);
|
| +
|
| + messages->SetItemText(index, 0, wname.c_str());
|
| +
|
| + if (disabled_messages.find(i->first) == disabled_messages.end())
|
| + messages->SetCheckState(index, TRUE);
|
| + }
|
| +
|
| init_done = true;
|
| }
|
|
|
| void CloseDialog() {
|
| - delete settings_views.view;
|
| - delete settings_views.view_host;
|
| - delete settings_views.plugin_host;
|
| - delete settings_views.npobject;
|
| - delete settings_views.plugin_process;
|
| - delete settings_views.plugin_process_host;
|
| - delete settings_views.devtools_agent;
|
| - delete settings_views.devtools_client;
|
| - settings_views.view = NULL;
|
| - settings_views.view_host = NULL;
|
| - settings_views.plugin = NULL;
|
| - settings_views.plugin_host = NULL;
|
| - settings_views.npobject = NULL;
|
| - settings_views.plugin_process = NULL;
|
| - settings_views.plugin_process_host = NULL;
|
| - settings_views.devtools_agent = NULL;
|
| - settings_views.devtools_client = NULL;
|
| + delete messages;
|
| + messages = NULL;
|
|
|
| init_done = false;
|
|
|
| @@ -185,7 +128,7 @@
|
|
|
| /* The old version of this code stored the last settings in the preferences.
|
| But with this dialog, there currently isn't an easy way to get the profile
|
| - to asave in the preferences.
|
| + to save in the preferences.
|
| Profile* current_profile = profile();
|
| if (!current_profile)
|
| return;
|
| @@ -203,38 +146,9 @@
|
| }
|
|
|
| void OnButtonClick(int id) {
|
| - switch (id) {
|
| - case IDC_ViewAll:
|
| - CheckButtons(settings_views.view, true);
|
| - break;
|
| - case IDC_ViewNone:
|
| - CheckButtons(settings_views.view, false);
|
| - break;
|
| - case IDC_ViewHostAll:
|
| - CheckButtons(settings_views.view_host, true);
|
| - break;
|
| - case IDC_ViewHostNone:
|
| - CheckButtons(settings_views.view_host, false);
|
| - break;
|
| - case IDC_PluginAll:
|
| - CheckButtons(settings_views.plugin, true);
|
| - break;
|
| - case IDC_PluginNone:
|
| - CheckButtons(settings_views.plugin, false);
|
| - break;
|
| - case IDC_PluginHostAll:
|
| - CheckButtons(settings_views.plugin_host, true);
|
| - break;
|
| - case IDC_PluginHostNone:
|
| - CheckButtons(settings_views.plugin_host, false);
|
| - break;
|
| - case IDC_NPObjectAll:
|
| - CheckButtons(settings_views.npobject, true);
|
| - break;
|
| - case IDC_NPObjectNone:
|
| - CheckButtons(settings_views.npobject, false);
|
| - break;
|
| - }
|
| + int count = messages->GetItemCount();
|
| + for (int i = 0; i < count; ++i)
|
| + messages->SetCheckState(i, id == IDC_MessagesAll);
|
| }
|
|
|
| INT_PTR CALLBACK DialogProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) {
|
| @@ -250,11 +164,7 @@
|
| break;
|
| case WM_NOTIFY: {
|
| NMLISTVIEW* info = reinterpret_cast<NM_LISTVIEW*>(lparam);
|
| - if ((wparam == IDC_View || wparam == IDC_ViewHost ||
|
| - wparam == IDC_Plugin ||
|
| - wparam == IDC_PluginHost || wparam == IDC_NPObject ||
|
| - wparam == IDC_PluginProcess || wparam == IDC_PluginProcessHost) &&
|
| - info->hdr.code == LVN_ITEMCHANGED) {
|
| + if (wparam == IDC_Messages && info->hdr.code == LVN_ITEMCHANGED) {
|
| if (info->uChanged & LVIF_STATE) {
|
| bool checked = (info->uNewState >> 12) == 2;
|
| OnCheck(static_cast<int>(info->lParam), checked);
|
|
|