Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(757)

Side by Side Diff: chrome/browser/chromeos/settings_contents_view.cc

Issue 227008: Add touchpad sensitivity setting. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/chromeos/touchpad.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/settings_contents_view.h" 5 #include "chrome/browser/chromeos/settings_contents_view.h"
6 6
7 #include <map> 7 #include <map>
8 #include <vector> 8 #include <vector>
9 9
10 #include "app/combobox_model.h" 10 #include "app/combobox_model.h"
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 virtual void NotifyPrefChanged(const std::wstring* pref_name); 374 virtual void NotifyPrefChanged(const std::wstring* pref_name);
375 375
376 private: 376 private:
377 // The View that contains the contents of the section. 377 // The View that contains the contents of the section.
378 views::View* contents_; 378 views::View* contents_;
379 379
380 // Controls for this section: 380 // Controls for this section:
381 views::Checkbox* enable_tap_to_click_checkbox_; 381 views::Checkbox* enable_tap_to_click_checkbox_;
382 views::Checkbox* enable_vert_edge_scroll_checkbox_; 382 views::Checkbox* enable_vert_edge_scroll_checkbox_;
383 views::Slider* speed_factor_slider_; 383 views::Slider* speed_factor_slider_;
384 views::Slider* sensitivity_slider_;
384 385
385 // Preferences for this section: 386 // Preferences for this section:
386 BooleanPrefMember tap_to_click_enabled_; 387 BooleanPrefMember tap_to_click_enabled_;
387 BooleanPrefMember vert_edge_scroll_enabled_; 388 BooleanPrefMember vert_edge_scroll_enabled_;
388 RealPrefMember speed_factor_; 389 IntegerPrefMember speed_factor_;
390 IntegerPrefMember sensitivity_;
389 391
390 DISALLOW_COPY_AND_ASSIGN(TouchpadSection); 392 DISALLOW_COPY_AND_ASSIGN(TouchpadSection);
391 }; 393 };
392 394
393 TouchpadSection::TouchpadSection(Profile* profile) 395 TouchpadSection::TouchpadSection(Profile* profile)
394 : OptionsPageView(profile), 396 : OptionsPageView(profile),
395 contents_(NULL), 397 contents_(NULL),
396 enable_tap_to_click_checkbox_(NULL), 398 enable_tap_to_click_checkbox_(NULL),
397 enable_vert_edge_scroll_checkbox_(NULL), 399 enable_vert_edge_scroll_checkbox_(NULL),
398 speed_factor_slider_(NULL) { 400 speed_factor_slider_(NULL),
401 sensitivity_slider_(NULL) {
399 } 402 }
400 403
401 void TouchpadSection::ButtonPressed( 404 void TouchpadSection::ButtonPressed(
402 views::Button* sender, const views::Event& event) { 405 views::Button* sender, const views::Event& event) {
403 if (sender == enable_tap_to_click_checkbox_) { 406 if (sender == enable_tap_to_click_checkbox_) {
404 bool enabled = enable_tap_to_click_checkbox_->checked(); 407 bool enabled = enable_tap_to_click_checkbox_->checked();
405 UserMetricsRecordAction(enabled ? 408 UserMetricsRecordAction(enabled ?
406 L"Options_TapToClickCheckbox_Enable" : 409 L"Options_TapToClickCheckbox_Enable" :
407 L"Options_TapToClickCheckbox_Disable", 410 L"Options_TapToClickCheckbox_Disable",
408 profile()->GetPrefs()); 411 profile()->GetPrefs());
409 tap_to_click_enabled_.SetValue(enabled); 412 tap_to_click_enabled_.SetValue(enabled);
410 } else if (sender == enable_vert_edge_scroll_checkbox_) { 413 } else if (sender == enable_vert_edge_scroll_checkbox_) {
411 bool enabled = enable_vert_edge_scroll_checkbox_->checked(); 414 bool enabled = enable_vert_edge_scroll_checkbox_->checked();
412 UserMetricsRecordAction(enabled ? 415 UserMetricsRecordAction(enabled ?
413 L"Options_VertEdgeScrollCheckbox_Enable" : 416 L"Options_VertEdgeScrollCheckbox_Enable" :
414 L"Options_VertEdgeScrollCheckbox_Disable", 417 L"Options_VertEdgeScrollCheckbox_Disable",
415 profile()->GetPrefs()); 418 profile()->GetPrefs());
416 vert_edge_scroll_enabled_.SetValue(enabled); 419 vert_edge_scroll_enabled_.SetValue(enabled);
417 } 420 }
418 } 421 }
419 422
420 void TouchpadSection::SliderValueChanged(views::Slider* sender) { 423 void TouchpadSection::SliderValueChanged(views::Slider* sender) {
421 if (sender == speed_factor_slider_) { 424 if (sender == speed_factor_slider_) {
422 double value = speed_factor_slider_->value(); 425 double value = speed_factor_slider_->value();
423 UserMetricsRecordAction(L"Options_SpeedFactorSlider_Changed", 426 UserMetricsRecordAction(L"Options_SpeedFactorSlider_Changed",
424 profile()->GetPrefs()); 427 profile()->GetPrefs());
425 speed_factor_.SetValue(value); 428 speed_factor_.SetValue(value);
429 } else if (sender == sensitivity_slider_) {
430 double value = sensitivity_slider_->value();
431 UserMetricsRecordAction(L"Options_SensitivitySlider_Changed",
432 profile()->GetPrefs());
433 sensitivity_.SetValue(value);
426 } 434 }
427 } 435 }
428 436
429 void TouchpadSection::InitControlLayout() { 437 void TouchpadSection::InitControlLayout() {
430 GridLayout* layout = new GridLayout(this); 438 GridLayout* layout = new GridLayout(this);
431 SetLayoutManager(layout); 439 SetLayoutManager(layout);
432 440
433 int single_column_layout_id = 0; 441 int single_column_layout_id = 0;
434 ColumnSet* column_set = layout->AddColumnSet(single_column_layout_id); 442 ColumnSet* column_set = layout->AddColumnSet(single_column_layout_id);
435 column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0, 443 column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 0,
(...skipping 24 matching lines...) Expand all
460 contents_->SetLayoutManager(layout); 468 contents_->SetLayoutManager(layout);
461 469
462 enable_tap_to_click_checkbox_ = new views::Checkbox(l10n_util::GetString( 470 enable_tap_to_click_checkbox_ = new views::Checkbox(l10n_util::GetString(
463 IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION)); 471 IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION));
464 enable_tap_to_click_checkbox_->set_listener(this); 472 enable_tap_to_click_checkbox_->set_listener(this);
465 enable_tap_to_click_checkbox_->SetMultiLine(true); 473 enable_tap_to_click_checkbox_->SetMultiLine(true);
466 enable_vert_edge_scroll_checkbox_ = new views::Checkbox(l10n_util::GetString( 474 enable_vert_edge_scroll_checkbox_ = new views::Checkbox(l10n_util::GetString(
467 IDS_OPTIONS_SETTINGS_VERT_EDGE_SCROLL_ENABLED_DESCRIPTION)); 475 IDS_OPTIONS_SETTINGS_VERT_EDGE_SCROLL_ENABLED_DESCRIPTION));
468 enable_vert_edge_scroll_checkbox_->set_listener(this); 476 enable_vert_edge_scroll_checkbox_->set_listener(this);
469 enable_vert_edge_scroll_checkbox_->SetMultiLine(true); 477 enable_vert_edge_scroll_checkbox_->SetMultiLine(true);
470 // Create speed factor slider with values between 0.1 and 1.0 step 0.1 478 // Create speed factor slider with values between 1 and 10 step 1
471 speed_factor_slider_ = new views::Slider(0.1, 1.0, 0.1, 479 speed_factor_slider_ = new views::Slider(1, 10, 1,
472 static_cast<views::Slider::StyleFlags>( 480 static_cast<views::Slider::StyleFlags>(
473 views::Slider::STYLE_DRAW_VALUE | 481 views::Slider::STYLE_DRAW_VALUE |
474 views::Slider::STYLE_ONE_DIGIT | 482 views::Slider::STYLE_UPDATE_ON_RELEASE),
483 this);
484 // Create sensitivity slider with values between 1 and 10 step 1
485 sensitivity_slider_ = new views::Slider(1, 10, 1,
486 static_cast<views::Slider::StyleFlags>(
487 views::Slider::STYLE_DRAW_VALUE |
475 views::Slider::STYLE_UPDATE_ON_RELEASE), 488 views::Slider::STYLE_UPDATE_ON_RELEASE),
476 this); 489 this);
477 490
478 int single_column_view_set_id = 0; 491 int single_column_view_set_id = 0;
479 ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id); 492 ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id);
480 column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 1, 493 column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 1,
481 GridLayout::USE_PREF, 0, 0); 494 GridLayout::USE_PREF, 0, 0);
482 495
483 int double_column_view_set_id = 1; 496 int double_column_view_set_id = 1;
484 column_set = layout->AddColumnSet(double_column_view_set_id); 497 column_set = layout->AddColumnSet(double_column_view_set_id);
485 column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 0, 498 column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 0,
486 GridLayout::USE_PREF, 0, 0); 499 GridLayout::USE_PREF, 0, 0);
487 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing); 500 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing);
488 column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 1, 501 column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 1,
489 GridLayout::USE_PREF, 0, 0); 502 GridLayout::USE_PREF, 0, 0);
490 503
491 layout->StartRow(0, double_column_view_set_id); 504 layout->StartRow(0, double_column_view_set_id);
492 layout->AddView(new views::Label( 505 layout->AddView(new views::Label(
506 l10n_util::GetString(IDS_OPTIONS_SETTINGS_SENSITIVITY_DESCRIPTION)));
507 layout->AddView(sensitivity_slider_);
508 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
509 layout->StartRow(0, double_column_view_set_id);
510 layout->AddView(new views::Label(
493 l10n_util::GetString(IDS_OPTIONS_SETTINGS_SPEED_FACTOR_DESCRIPTION))); 511 l10n_util::GetString(IDS_OPTIONS_SETTINGS_SPEED_FACTOR_DESCRIPTION)));
494 layout->AddView(speed_factor_slider_); 512 layout->AddView(speed_factor_slider_);
495 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); 513 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
496 layout->StartRow(0, single_column_view_set_id); 514 layout->StartRow(0, single_column_view_set_id);
497 layout->AddView(enable_tap_to_click_checkbox_); 515 layout->AddView(enable_tap_to_click_checkbox_);
498 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); 516 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
499 layout->StartRow(0, single_column_view_set_id); 517 layout->StartRow(0, single_column_view_set_id);
500 layout->AddView(enable_vert_edge_scroll_checkbox_); 518 layout->AddView(enable_vert_edge_scroll_checkbox_);
501 layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing); 519 layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing);
502 520
503 // Init member prefs so we can update the controls if prefs change. 521 // Init member prefs so we can update the controls if prefs change.
504 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, 522 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled,
505 profile()->GetPrefs(), this); 523 profile()->GetPrefs(), this);
506 vert_edge_scroll_enabled_.Init(prefs::kVertEdgeScrollEnabled, 524 vert_edge_scroll_enabled_.Init(prefs::kVertEdgeScrollEnabled,
507 profile()->GetPrefs(), this); 525 profile()->GetPrefs(), this);
508 speed_factor_.Init(prefs::kTouchpadSpeedFactor, 526 speed_factor_.Init(prefs::kTouchpadSpeedFactor,
509 profile()->GetPrefs(), this); 527 profile()->GetPrefs(), this);
528 sensitivity_.Init(prefs::kTouchpadSensitivity,
529 profile()->GetPrefs(), this);
510 } 530 }
511 531
512 void TouchpadSection::NotifyPrefChanged(const std::wstring* pref_name) { 532 void TouchpadSection::NotifyPrefChanged(const std::wstring* pref_name) {
513 if (!pref_name || *pref_name == prefs::kTapToClickEnabled) { 533 if (!pref_name || *pref_name == prefs::kTapToClickEnabled) {
514 bool enabled = tap_to_click_enabled_.GetValue(); 534 bool enabled = tap_to_click_enabled_.GetValue();
515 enable_tap_to_click_checkbox_->SetChecked(enabled); 535 enable_tap_to_click_checkbox_->SetChecked(enabled);
516 } 536 }
517 if (!pref_name || *pref_name == prefs::kVertEdgeScrollEnabled) { 537 if (!pref_name || *pref_name == prefs::kVertEdgeScrollEnabled) {
518 bool enabled = vert_edge_scroll_enabled_.GetValue(); 538 bool enabled = vert_edge_scroll_enabled_.GetValue();
519 enable_vert_edge_scroll_checkbox_->SetChecked(enabled); 539 enable_vert_edge_scroll_checkbox_->SetChecked(enabled);
520 } 540 }
521 if (!pref_name || *pref_name == prefs::kTouchpadSpeedFactor) { 541 if (!pref_name || *pref_name == prefs::kTouchpadSpeedFactor) {
522 double value = speed_factor_.GetValue(); 542 double value = speed_factor_.GetValue();
523 speed_factor_slider_->SetValue(value); 543 speed_factor_slider_->SetValue(value);
524 } 544 }
545 if (!pref_name || *pref_name == prefs::kTouchpadSensitivity) {
546 double value = sensitivity_.GetValue();
547 sensitivity_slider_->SetValue(value);
548 }
525 } 549 }
526 550
527 } // namespace 551 } // namespace
528 552
529 //////////////////////////////////////////////////////////////////////////////// 553 ////////////////////////////////////////////////////////////////////////////////
530 // SettingsContentsView 554 // SettingsContentsView
531 555
532 //////////////////////////////////////////////////////////////////////////////// 556 ////////////////////////////////////////////////////////////////////////////////
533 // SettingsContentsView, OptionsPageView implementation: 557 // SettingsContentsView, OptionsPageView implementation:
534 558
535 void SettingsContentsView::InitControlLayout() { 559 void SettingsContentsView::InitControlLayout() {
536 GridLayout* layout = CreatePanelGridLayout(this); 560 GridLayout* layout = CreatePanelGridLayout(this);
537 SetLayoutManager(layout); 561 SetLayoutManager(layout);
538 562
539 int single_column_view_set_id = 0; 563 int single_column_view_set_id = 0;
540 ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id); 564 ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id);
541 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, 565 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1,
542 GridLayout::USE_PREF, 0, 0); 566 GridLayout::USE_PREF, 0, 0);
543 567
544 layout->StartRow(0, single_column_view_set_id); 568 layout->StartRow(0, single_column_view_set_id);
545 layout->AddView(new NetworkSection(profile())); 569 layout->AddView(new NetworkSection(profile()));
546 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); 570 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
547 layout->StartRow(0, single_column_view_set_id); 571 layout->StartRow(0, single_column_view_set_id);
548 layout->AddView(new TouchpadSection(profile())); 572 layout->AddView(new TouchpadSection(profile()));
549 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); 573 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
550 } 574 }
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/chromeos/touchpad.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698