Ticket #5889: tracker.3.patch
File tracker.3.patch, 18.2 KB (added by , 14 years ago) |
---|
-
SettingsViews.cpp
44 44 #include <Box.h> 45 45 #include <Button.h> 46 46 #include <Catalog.h> 47 #include <ControlLook.h> 48 #include <GroupLayoutBuilder.h> 47 49 #include <Locale.h> 48 50 #include <MenuField.h> 49 51 #include <ColorControl.h> … … 83 85 #undef B_TRANSLATE_CONTEXT 84 86 #define B_TRANSLATE_CONTEXT "libtracker" 85 87 86 SettingsView::SettingsView( BRect rect, const char *name)87 : B View(rect, name, B_FOLLOW_ALL, 0)88 SettingsView::SettingsView() 89 : BGroupView() 88 90 { 89 91 } 90 92 … … 165 167 // #pragma mark - 166 168 167 169 168 DesktopSettingsView::DesktopSettingsView( BRect rect)169 : SettingsView( rect, "DesktopSettingsView")170 DesktopSettingsView::DesktopSettingsView() 171 : SettingsView() 170 172 { 171 rect.OffsetTo(B_ORIGIN); 172 fShowDisksIconRadioButton = new BRadioButton(rect, "", 173 fShowDisksIconRadioButton = new BRadioButton("", 173 174 B_TRANSLATE("Show Disks icon"), 174 175 new BMessage(kShowDisksIconChanged)); 175 fShowDisksIconRadioButton->ResizeToPreferred();176 AddChild(fShowDisksIconRadioButton);177 176 178 const float itemSpacing = fShowDisksIconRadioButton->Bounds().Height() + kItemExtraSpacing; 179 rect.OffsetBy(0, itemSpacing); 180 181 fMountVolumesOntoDesktopRadioButton = new BRadioButton(rect, "", 177 fMountVolumesOntoDesktopRadioButton = new BRadioButton("", 182 178 B_TRANSLATE("Show volumes on Desktop"), 183 179 new BMessage(kVolumesOnDesktopChanged)); 184 AddChild(fMountVolumesOntoDesktopRadioButton);185 fMountVolumesOntoDesktopRadioButton->ResizeToPreferred();186 180 187 rect.OffsetBy(20, itemSpacing); 188 189 fMountSharedVolumesOntoDesktopCheckBox = new BCheckBox(rect, "", 181 fMountSharedVolumesOntoDesktopCheckBox = new BCheckBox("", 190 182 B_TRANSLATE("Show shared volumes on Desktop"), 191 183 new BMessage(kVolumesOnDesktopChanged)); 192 AddChild(fMountSharedVolumesOntoDesktopCheckBox);193 fMountSharedVolumesOntoDesktopCheckBox->ResizeToPreferred();194 184 195 rect.OffsetBy(-20, itemSpacing); 196 197 rect = Bounds(); 198 rect.top = rect.bottom; 199 fMountButton = new BButton(rect, "", 185 fMountButton = new BButton("", 200 186 B_TRANSLATE("Mount settings" B_UTF8_ELLIPSIS), 201 new BMessage(kRunAutomounterSettings), B_FOLLOW_LEFT | B_FOLLOW_BOTTOM); 202 fMountButton->ResizeToPreferred(); 203 fMountButton->MoveBy(0, -fMountButton->Bounds().Height()); 204 AddChild(fMountButton); 187 new BMessage(kRunAutomounterSettings)); 205 188 206 fMountButton->SetTarget(be_app); 207 } 189 const float spacing = be_control_look->DefaultItemSpacing(); 208 190 191 BGroupLayoutBuilder(this) 192 .AddGroup(B_VERTICAL) 193 .Add(fShowDisksIconRadioButton) 194 .Add(fMountVolumesOntoDesktopRadioButton) 195 .AddGroup(B_VERTICAL) 196 .Add(fMountSharedVolumesOntoDesktopCheckBox) 197 .SetInsets(20, 0, 0, 0) 198 .End() 199 .AddGlue() 200 .AddGroup(B_HORIZONTAL) 201 .Add(fMountButton) 202 .AddGlue() 203 .End() 204 .End() 205 .SetInsets(spacing, spacing, spacing, spacing); 209 206 210 void 211 DesktopSettingsView::GetPreferredSize(float *_width, float *_height) 212 { 213 if (_width != NULL) { 214 *_width = fMountSharedVolumesOntoDesktopCheckBox->Frame().right; 215 } 216 217 if (_height != NULL) { 218 *_height = fMountSharedVolumesOntoDesktopCheckBox->Frame().bottom + 8 219 + fMountButton->Bounds().Height(); 220 } 207 fMountButton->SetTarget(be_app); 221 208 } 222 209 223 210 … … 414 401 // #pragma mark - 415 402 416 403 417 WindowsSettingsView::WindowsSettingsView( BRect rect)418 : SettingsView( rect, "WindowsSettingsView")404 WindowsSettingsView::WindowsSettingsView() 405 : SettingsView() 419 406 { 420 rect.OffsetTo(B_ORIGIN); 421 fShowFullPathInTitleBarCheckBox = new BCheckBox(rect, "", 407 fShowFullPathInTitleBarCheckBox = new BCheckBox("", 422 408 B_TRANSLATE("Show folder location in title tab"), 423 409 new BMessage(kWindowsShowFullPathChanged)); 424 fShowFullPathInTitleBarCheckBox->ResizeToPreferred();425 AddChild(fShowFullPathInTitleBarCheckBox);426 410 427 const float itemSpacing = fShowFullPathInTitleBarCheckBox->Bounds().Height() + kItemExtraSpacing; 428 rect.OffsetBy(0, itemSpacing); 429 430 fSingleWindowBrowseCheckBox = new BCheckBox(rect, "", 411 fSingleWindowBrowseCheckBox = new BCheckBox("", 431 412 B_TRANSLATE("Single window navigation"), 432 413 new BMessage(kSingleWindowBrowseChanged)); 433 fSingleWindowBrowseCheckBox->ResizeToPreferred();434 AddChild(fSingleWindowBrowseCheckBox);435 414 436 rect.OffsetBy(20, itemSpacing); 437 438 fShowNavigatorCheckBox = new BCheckBox(rect, "", 415 fShowNavigatorCheckBox = new BCheckBox("", 439 416 B_TRANSLATE("Show navigator"), 440 417 new BMessage(kShowNavigatorChanged)); 441 fShowNavigatorCheckBox->ResizeToPreferred();442 AddChild(fShowNavigatorCheckBox);443 418 444 rect.OffsetBy(-20, itemSpacing); 445 446 fOutlineSelectionCheckBox = new BCheckBox(rect, "", 419 fOutlineSelectionCheckBox = new BCheckBox("", 447 420 B_TRANSLATE("Outline selection rectangle only"), 448 421 new BMessage(kTransparentSelectionChanged)); 449 fOutlineSelectionCheckBox->ResizeToPreferred();450 AddChild(fOutlineSelectionCheckBox);451 422 452 rect.OffsetBy(0, itemSpacing); 453 454 fSortFolderNamesFirstCheckBox = new BCheckBox(rect, "", 423 fSortFolderNamesFirstCheckBox = new BCheckBox("", 455 424 B_TRANSLATE("List folders first"), 456 425 new BMessage(kSortFolderNamesFirstChanged)); 457 fSortFolderNamesFirstCheckBox->ResizeToPreferred();458 AddChild(fSortFolderNamesFirstCheckBox);459 426 460 rect.OffsetBy(0, itemSpacing); 461 462 fTypeAheadFilteringCheckBox = new BCheckBox(rect, "", 427 fTypeAheadFilteringCheckBox = new BCheckBox("", 463 428 B_TRANSLATE("Enable type-ahead filtering"), 464 429 new BMessage(kTypeAheadFilteringChanged)); 465 fTypeAheadFilteringCheckBox->ResizeToPreferred();466 AddChild(fTypeAheadFilteringCheckBox);467 }468 430 431 const float spacing = be_control_look->DefaultItemSpacing(); 469 432 470 void 471 WindowsSettingsView::GetPreferredSize(float *_width, float *_height) 472 { 473 if (_width != NULL) 474 *_width = fOutlineSelectionCheckBox->Frame().right; 475 476 if (_height != NULL) 477 *_height = fSortFolderNamesFirstCheckBox->Frame().bottom; 433 BGroupLayoutBuilder(this) 434 .AddGroup(B_VERTICAL) 435 .AddGroup(B_VERTICAL) 436 .Add(fShowFullPathInTitleBarCheckBox) 437 .Add(fSingleWindowBrowseCheckBox) 438 .End() 439 .AddGroup(B_VERTICAL) 440 .Add(fShowNavigatorCheckBox) 441 .SetInsets(20, 0, 0, 0) 442 .End() 443 .AddGroup(B_VERTICAL) 444 .Add(fOutlineSelectionCheckBox) 445 .Add(fSortFolderNamesFirstCheckBox) 446 .Add(fTypeAheadFilteringCheckBox) 447 .End() 448 .AddGlue() 449 .End() 450 .SetInsets(spacing, spacing, spacing, spacing); 478 451 } 479 452 480 453 … … 719 692 // #pragma mark - 720 693 721 694 722 SpaceBarSettingsView::SpaceBarSettingsView( BRect rect)723 : SettingsView( rect, "SpaceBarSettingsView")695 SpaceBarSettingsView::SpaceBarSettingsView() 696 : SettingsView() 724 697 { 725 rect.OffsetTo(B_ORIGIN); 726 fSpaceBarShowCheckBox = new BCheckBox(rect, "", 698 fSpaceBarShowCheckBox = new BCheckBox("", 727 699 B_TRANSLATE("Show space bars on volumes"), 728 700 new BMessage(kUpdateVolumeSpaceBar)); 729 fSpaceBarShowCheckBox->ResizeToPreferred();730 AddChild(fSpaceBarShowCheckBox);731 701 732 rect = fSpaceBarShowCheckBox->Frame(); 733 rect.OffsetBy(0, fSpaceBarShowCheckBox->Bounds().Height() + kItemExtraSpacing); 734 735 BPopUpMenu *menu = new BPopUpMenu(B_EMPTY_STRING); 702 BPopUpMenu* menu = new BPopUpMenu(B_EMPTY_STRING); 736 703 menu->SetFont(be_plain_font); 737 704 738 BMenuItem *item;705 BMenuItem* item; 739 706 menu->AddItem(item = new BMenuItem( 740 707 B_TRANSLATE("Used space color"), 741 708 new BMessage(kSpaceBarSwitchColor))); … … 748 715 B_TRANSLATE("Warning space color"), 749 716 new BMessage(kSpaceBarSwitchColor))); 750 717 751 BBox *box = new BBox(rect); 752 box->SetLabel(fColorPicker = new BMenuField(rect, NULL, NULL, menu)); 753 AddChild(box); 718 BBox* box = new BBox("box"); 719 box->SetLabel(fColorPicker = new BMenuField("menu", NULL, menu)); 754 720 755 721 fColorControl = new BColorControl(BPoint(8, fColorPicker->Bounds().Height() 756 722 + 8 + kItemExtraSpacing), 757 723 B_CELLS_16x16, 1, "SpaceColorControl", new BMessage(kSpaceBarColorChanged)); 758 724 fColorControl->SetValue(TrackerSettings().UsedSpaceColor()); 759 fColorControl->ResizeToPreferred();760 725 box->AddChild(fColorControl); 761 726 762 box->ResizeTo(fColorControl->Bounds().Width() + 16, 763 fColorControl->Frame().bottom + 8); 764 } 727 const float spacing = be_control_look->DefaultItemSpacing(); 765 728 729 BGroupLayoutBuilder(this) 730 .AddGroup(B_VERTICAL) 731 .Add(fSpaceBarShowCheckBox) 732 .Add(box) 733 .AddGlue() 734 .End() 735 .SetInsets(spacing, spacing, spacing, spacing); 766 736 767 SpaceBarSettingsView::~SpaceBarSettingsView()768 {769 737 } 770 738 771 739 772 void 773 SpaceBarSettingsView::GetPreferredSize(float *_width, float *_height) 740 SpaceBarSettingsView::~SpaceBarSettingsView() 774 741 { 775 BView* view = fColorControl->Parent();776 if (view == NULL)777 BView::GetPreferredSize(_width, _height);778 779 if (_width != NULL) {780 float width = fSpaceBarShowCheckBox->Bounds().Width();781 if (view->Bounds().Width() > width)782 width = view->Bounds().Width();783 784 *_width = width;785 }786 787 if (_height != NULL)788 *_height = view->Frame().bottom;789 742 } 790 743 791 744 … … 976 929 // #pragma mark - 977 930 978 931 979 TrashSettingsView::TrashSettingsView( BRect rect)980 : SettingsView( rect, "TrashSettingsView")932 TrashSettingsView::TrashSettingsView() 933 : SettingsView() 981 934 { 982 rect.OffsetTo(B_ORIGIN); 983 fDontMoveFilesToTrashCheckBox = new BCheckBox(rect, "", 935 fDontMoveFilesToTrashCheckBox = new BCheckBox("", 984 936 B_TRANSLATE("Don't move files to Trash"), 985 937 new BMessage(kDontMoveFilesToTrashChanged)); 986 fDontMoveFilesToTrashCheckBox->ResizeToPreferred();987 AddChild(fDontMoveFilesToTrashCheckBox);988 938 989 rect = fDontMoveFilesToTrashCheckBox->Frame(); 990 rect.OffsetBy(0, fDontMoveFilesToTrashCheckBox->Bounds().Height() + kItemExtraSpacing); 991 992 fAskBeforeDeleteFileCheckBox = new BCheckBox(rect, "", 939 fAskBeforeDeleteFileCheckBox = new BCheckBox("", 993 940 B_TRANSLATE("Ask before delete"), 994 941 new BMessage(kAskBeforeDeleteFileChanged)); 995 fAskBeforeDeleteFileCheckBox->ResizeToPreferred();996 AddChild(fAskBeforeDeleteFileCheckBox);997 }998 942 943 const float spacing = be_control_look->DefaultItemSpacing(); 999 944 1000 void 1001 TrashSettingsView::GetPreferredSize(float *_width, float *_height)1002 { 1003 if (_width != NULL) {1004 float width = fDontMoveFilesToTrashCheckBox->Bounds().Width();1005 if (width < fAskBeforeDeleteFileCheckBox->Bounds().Width())1006 width = fAskBeforeDeleteFileCheckBox->Bounds().Width();945 BGroupLayoutBuilder(this) 946 .AddGroup(B_VERTICAL) 947 .Add(fDontMoveFilesToTrashCheckBox) 948 .Add(fAskBeforeDeleteFileCheckBox) 949 .AddGlue() 950 .End() 951 .SetInsets(spacing, spacing, spacing, spacing); 1007 952 1008 *_width = width;1009 }1010 1011 if (_height != NULL)1012 *_height = fAskBeforeDeleteFileCheckBox->Frame().bottom;1013 953 } 1014 954 1015 955 -
TrackerSettingsWindow.cpp
33 33 */ 34 34 35 35 #include <Catalog.h> 36 #include <ControlLook.h> 37 #include <LayoutBuilder.h> 36 38 #include <Locale.h> 37 39 38 40 #include "SettingsViews.h" 39 41 #include "TrackerSettings.h" 40 42 #include "TrackerSettingsWindow.h" 41 43 42 //#include <CheckBox.h>43 44 #include <ScrollView.h> 44 45 45 46 … … 73 74 BWindow(BRect(80, 80, 450, 350), B_TRANSLATE("Tracker preferences"), 74 75 B_TITLED_WINDOW, B_NOT_MINIMIZABLE | B_NOT_RESIZABLE 75 76 | B_NO_WORKSPACE_ACTIVATION | B_NOT_ANCHORED_ON_ACTIVATE 76 | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE )77 | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS) 77 78 { 78 BRect rect = Bounds(); 79 BView *topView = new BView(rect, "Background", B_FOLLOW_ALL, 0); 80 topView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); 81 AddChild(topView); 79 fSettingsTypeListView = new BListView("List View", B_SINGLE_SELECTION_LIST); 82 80 83 rect.InsetBy(10, 10); 84 rect.right = be_plain_font->StringWidth(B_TRANSLATE("Volume Icons")) 85 + rect.left + (float)B_V_SCROLL_BAR_WIDTH + 40.0f; 86 fSettingsTypeListView = new BListView(rect, "List View", B_SINGLE_SELECTION_LIST, 87 B_FOLLOW_LEFT | B_FOLLOW_TOP_BOTTOM); 81 // TODO: Get width of listview using longest translated label. 82 float width = be_plain_font->StringWidth(B_TRANSLATE("Volume Icons")) 83 + (float)B_V_SCROLL_BAR_WIDTH + 40.0f; 84 fSettingsTypeListView->SetExplicitMinSize(BSize(width, 0)); 85 fSettingsTypeListView->SetExplicitMaxSize( BSize(width, B_SIZE_UNLIMITED)); 86 88 87 BScrollView* scrollView = new BScrollView("scrollview", fSettingsTypeListView, 89 B_FOLLOW_LEFT | B_FOLLOW_TOP_BOTTOM, B_FRAME_EVENTS | B_WILL_DRAW, false, true); 90 topView->AddChild(scrollView); 88 B_FRAME_EVENTS | B_WILL_DRAW, false, true); 91 89 92 rect = scrollView->Frame(); 93 rect.left = rect.right + 10; 94 rect.top = rect.bottom; 95 fDefaultsButton = new BButton(rect, "Defaults", B_TRANSLATE("Defaults"), 96 new BMessage(kDefaultsButtonPressed), B_FOLLOW_LEFT | B_FOLLOW_BOTTOM); 97 fDefaultsButton->ResizeToPreferred(); 90 fDefaultsButton = new BButton("Defaults", B_TRANSLATE("Defaults"), 91 new BMessage(kDefaultsButtonPressed)); 98 92 fDefaultsButton->SetEnabled(false); 99 fDefaultsButton->MoveBy(0, -fDefaultsButton->Bounds().Height());100 93 101 rect = fDefaultsButton->Frame(); 102 rect.left = rect.right + 10; 103 fRevertButton = new BButton(rect, "Revert", B_TRANSLATE("Revert"), 104 new BMessage(kRevertButtonPressed), B_FOLLOW_LEFT | B_FOLLOW_BOTTOM); 94 fRevertButton = new BButton("Revert", B_TRANSLATE("Revert"), 95 new BMessage(kRevertButtonPressed)); 105 96 fRevertButton->SetEnabled(false); 106 fRevertButton->ResizeToPreferred();107 97 108 rect = scrollView->Frame(); 109 rect.left = rect.right + 10; 110 rect.right = Bounds().right - 10; 111 rect.bottom = fDefaultsButton->Frame().top - 10; 112 fSettingsContainerBox = new BBox(rect, NULL, B_FOLLOW_ALL); 113 topView->AddChild(fSettingsContainerBox); 114 topView->AddChild(fDefaultsButton); 115 topView->AddChild(fRevertButton); 98 fSettingsContainerBox = new BBox("SettingsContainerBox"); 99 100 const float spacing = be_control_look->DefaultItemSpacing(); 116 101 117 rect = _SettingsFrame(); 102 BLayoutBuilder::Group<>(this) 103 .AddGroup(B_HORIZONTAL, spacing) 104 .Add(scrollView) 105 .AddGroup(B_VERTICAL, spacing) 106 .Add(fSettingsContainerBox) 107 .AddGroup(B_HORIZONTAL, spacing) 108 .Add(fDefaultsButton) 109 .Add(fRevertButton) 110 .AddGlue() 111 .End() 112 .End() 113 .SetInsets(spacing, spacing, spacing, spacing) 114 .End(); 118 115 119 116 fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Desktop"), 120 new DesktopSettingsView( rect)));117 new DesktopSettingsView())); 121 118 fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Windows"), 122 new WindowsSettingsView( rect)));119 new WindowsSettingsView())); 123 120 fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Trash"), 124 new TrashSettingsView( rect)));121 new TrashSettingsView())); 125 122 fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Volume icons"), 126 new SpaceBarSettingsView( rect)));123 new SpaceBarSettingsView())); 127 124 128 // compute preferred view size129 130 float minWidth = 0, minHeight = 0;131 132 for (int32 i = 0; i < fSettingsTypeListView->CountItems(); i++) {133 SettingsView* view = ((SettingsItem *)fSettingsTypeListView->ItemAt(i))->View();134 135 float width, height;136 view->GetPreferredSize(&width, &height);137 138 if (minWidth < width)139 minWidth = width;140 if (minHeight < height)141 minHeight = height;142 }143 144 ResizeBy(max_c(minWidth - rect.Width(), 0), max_c(minHeight - rect.Height(), 0));145 // make sure window is large enough to contain all views146 147 125 fSettingsTypeListView->SetSelectionMessage(new BMessage(kSettingsViewChanged)); 148 126 fSettingsTypeListView->Select(0); 149 127 } … … 230 208 } 231 209 232 210 233 BRect234 TrackerSettingsWindow::_SettingsFrame()235 {236 font_height fontHeight;237 be_bold_font->GetHeight(&fontHeight);238 239 BRect rect = fSettingsContainerBox->Bounds().InsetByCopy(8, 8);240 rect.top += ceilf(fontHeight.ascent + fontHeight.descent);241 242 return rect;243 }244 245 246 211 void 247 212 TrackerSettingsWindow::_HandleChangedContents() 248 213 { … … 322 287 view->Hide(); 323 288 fSettingsContainerBox->AddChild(view); 324 289 325 // Resize view after it has been attached to the window, so that326 // it's resizing modes are respected327 BRect rect = _SettingsFrame();328 view->ResizeTo(rect.Width(), rect.Height());329 290 view->Show(); 330 291 } 331 292 } -
SettingsViews.h
36 36 #define _SETTINGS_VIEWS 37 37 38 38 #include <CheckBox.h> 39 #include <GroupView.h> 39 40 #include <RadioButton.h> 40 41 #include <TextControl.h> 41 42 #include <ColorControl.h> … … 51 52 52 53 namespace BPrivate { 53 54 54 class SettingsView : public B View {55 class SettingsView : public BGroupView { 55 56 public: 56 SettingsView( BRect frame, const char *name);57 SettingsView(); 57 58 virtual ~SettingsView(); 58 59 59 60 virtual void SetDefaults(); … … 64 65 virtual bool IsRevertable() const; 65 66 66 67 protected: 67 typedef B View _inherited;68 typedef BGroupView _inherited; 68 69 }; 69 70 70 71 class DesktopSettingsView : public SettingsView { 71 72 public: 72 DesktopSettingsView( BRect frame);73 DesktopSettingsView(); 73 74 74 75 virtual void MessageReceived(BMessage *message); 75 76 virtual void AttachedToWindow(); 76 virtual void GetPreferredSize(float *_width, float *_height);77 77 78 78 virtual void SetDefaults(); 79 79 virtual bool IsDefaultable() const; … … 102 102 103 103 class WindowsSettingsView : public SettingsView { 104 104 public: 105 WindowsSettingsView( BRect frame);105 WindowsSettingsView(); 106 106 107 107 virtual void MessageReceived(BMessage *message); 108 108 virtual void AttachedToWindow(); 109 virtual void GetPreferredSize(float *_width, float *_height);110 109 111 110 virtual void SetDefaults(); 112 111 virtual bool IsDefaultable() const; … … 134 133 typedef SettingsView _inherited; 135 134 }; 136 135 137 138 136 class SpaceBarSettingsView : public SettingsView { 139 137 public: 140 SpaceBarSettingsView( BRect frame);138 SpaceBarSettingsView(); 141 139 virtual ~SpaceBarSettingsView(); 142 140 143 141 virtual void MessageReceived(BMessage *message); 144 142 virtual void AttachedToWindow(); 145 virtual void GetPreferredSize(float *_width, float *_height);146 143 147 144 virtual void SetDefaults(); 148 145 virtual bool IsDefaultable() const; … … 167 164 168 165 class TrashSettingsView : public SettingsView { 169 166 public: 170 TrashSettingsView( BRect frame);167 TrashSettingsView(); 171 168 172 169 virtual void MessageReceived(BMessage *message); 173 170 virtual void AttachedToWindow(); 174 virtual void GetPreferredSize(float *_width, float *_height);175 171 176 172 virtual void SetDefaults(); 177 173 virtual bool IsDefaultable() const; -
TrackerSettingsWindow.h
57 57 58 58 private: 59 59 SettingsView *_ViewAt(int32 i); 60 BRect _SettingsFrame();61 60 62 61 void _HandleChangedContents(); 63 62 void _HandlePressedDefaultsButton();