Ticket #254: Anxiety - Ticket 254 - 20070816.diff

File Anxiety - Ticket 254 - 20070816.diff, 16.4 KB (added by anxiety, 17 years ago)

Diff file

  • src/preferences/virtualmemory/Settings.cpp

     
    205205
    206206
    207207bool
     208Settings::IsDefaultable()
     209{
     210    return fSwapEnabled != fInitialSwapEnabled
     211        || fSwapSize != fInitialSwapSize;
     212}
     213
     214
     215bool
    208216Settings::SwapChanged()
    209217{
    210218    return fSwapEnabled != fInitialSwapEnabled
  • src/preferences/virtualmemory/Settings.h

     
    2727
    2828        void SetSwapDefaults();
    2929        void RevertSwapChanges();
     30        bool IsDefaultable();
    3031        bool SwapChanged();
    3132
    3233    private:
  • src/preferences/virtualmemory/SettingsWindow.cpp

     
    196196    // Add "Defaults" and "Revert" buttons
    197197
    198198    rect.top = box->Frame().bottom + 10;
    199     BButton* button = new BButton(rect, "defaults", "Defaults", new BMessage(kMsgDefaults));
    200     button->ResizeToPreferred();
    201     view->AddChild(button);
     199    fDefaultsButton = new BButton(rect, "defaults", "Defaults", new BMessage(kMsgDefaults));
     200    fDefaultsButton->ResizeToPreferred();
     201    fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     202    view->AddChild(fDefaultsButton);
    202203
    203     rect = button->Frame();
     204    rect = fDefaultsButton->Frame();
    204205    rect.OffsetBy(rect.Width() + 10, 0);
    205206    fRevertButton = new BButton(rect, "revert", "Revert", new BMessage(kMsgRevert));
    206     button->ResizeToPreferred();
     207    fRevertButton->ResizeToPreferred();
     208    fRevertButton->SetEnabled(false);
    207209    view->AddChild(fRevertButton);
    208210
    209     view->ResizeTo(view->Frame().Width(), button->Frame().bottom + 10);
     211    view->ResizeTo(view->Frame().Width(), fRevertButton->Frame().bottom + 10);
    210212    ResizeTo(view->Bounds().Width(), view->Bounds().Height());
    211213    AddChild(view);
    212214        // add view after resizing the window, so that the view's resizing
     
    266268
    267269    // ToDo: set volume
    268270
     271    fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     272
    269273    bool changed = fSettings.SwapChanged();
    270274    if (fRevertButton->IsEnabled() != changed) {
    271275        fRevertButton->SetEnabled(changed);
  • src/preferences/virtualmemory/SettingsWindow.h

     
    3030
    3131        BCheckBox*      fSwapEnabledCheckBox;
    3232        BSlider*        fSizeSlider;
     33        BButton*        fDefaultsButton;
    3334        BButton*        fRevertButton;
    3435        BStringView*    fWarningStringView;
    3536
  • src/preferences/mouse/MouseSettings.h

     
    3030
    3131        void Revert();
    3232        void Defaults();
     33        bool IsDefaultable();
    3334        void Dump();
    3435
    3536        BPoint WindowPosition() const { return fWindowPosition; }
  • src/preferences/mouse/MouseWindow.cpp

     
    4848    // Add the "Default" button
    4949    BRect rect(kBorderSpace, fSettingsView->Frame().bottom + kItemSpace + 2,
    5050        kBorderSpace + 75, fSettingsView->Frame().bottom + 20);
    51     BButton *button = new BButton(rect, "defaults", "Defaults", new BMessage(kMsgDefaults));
    52     button->ResizeToPreferred();
    53     view->AddChild(button);
     51    fDefaultsButton = new BButton(rect, "defaults", "Defaults", new BMessage(kMsgDefaults));
     52    fDefaultsButton->ResizeToPreferred();
     53    fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     54    view->AddChild(fDefaultsButton);
    5455
    5556    // Add the "Revert" button
    56     rect.OffsetBy(button->Bounds().Width() + kItemSpace, 0);
     57    rect.OffsetBy(fDefaultsButton->Bounds().Width() + kItemSpace, 0);
    5758    fRevertButton = new BButton(rect, "revert", "Revert", new BMessage(kMsgRevert));
    5859    fRevertButton->SetEnabled(false);
    5960    fRevertButton->ResizeToPreferred();
     
    6465        // buttons and draw the selected imagery
    6566
    6667    ResizeTo(fSettingsView->Frame().right + kBorderSpace,
    67         button->Frame().bottom + kBorderSpace - 1);
     68        fRevertButton->Frame().bottom + kBorderSpace - 1);
    6869
    6970    // check if the window is on screen
    7071
     
    105106            fSettings.Defaults();
    106107            fSettingsView->UpdateFromSettings();
    107108
    108             SetRevertable(true);
     109            fDefaultsButton->SetEnabled(false);
     110            fRevertButton->SetEnabled(true);
    109111            break;
    110112        }
    111113
     
    114116            fSettings.Revert();
    115117            fSettingsView->UpdateFromSettings();
    116118
    117             SetRevertable(false);
     119            fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     120            fRevertButton->SetEnabled(false);
    118121            break;
    119122        }
    120123
     
    124127            if (message->FindInt32("index", &type) == B_OK) {
    125128                fSettings.SetMouseType(++type);
    126129                fSettingsView->SetMouseType(type);
    127                 SetRevertable(true);
     130                fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     131                fRevertButton->SetEnabled(true);
    128132            }
    129133            break;
    130134        }
     
    134138            int32 mode;
    135139            if (message->FindInt32("mode", &mode) == B_OK) {
    136140                fSettings.SetMouseMode((mode_mouse)mode);
    137                 SetRevertable(true);
     141                fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     142                fRevertButton->SetEnabled(true);
    138143            }
    139144            break;
    140145        }
     
    145150            if (message->FindInt32("be:value", &value) == B_OK) {
    146151                // slow = 1000000, fast = 0
    147152                fSettings.SetClickSpeed(value * 1000);
    148                 SetRevertable(true);
     153                fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     154                fRevertButton->SetEnabled(true);
    149155            }
    150156            break;
    151157        }
     
    156162            if (message->FindInt32("be:value", &value) == B_OK) {
    157163                // slow = 8192, fast = 524287
    158164                fSettings.SetMouseSpeed((int32)pow(2, value * 6 / 1000) * 8192);
    159                 SetRevertable(true);
     165                fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     166                fRevertButton->SetEnabled(true);
    160167            }
    161168            break;
    162169        }
     
    167174            if (message->FindInt32("be:value", &value) == B_OK) {
    168175                // slow = 0, fast = 262144
    169176                fSettings.SetAccelerationFactor((int32)pow(value * 4 / 1000, 2) * 16384);
    170                 SetRevertable(true);
     177                fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     178                fRevertButton->SetEnabled(true);
    171179            }
    172180            break;
    173181        }
     
    189197                }
    190198
    191199                fSettings.SetMapping(button, mapping);
    192                 SetRevertable(true);
     200                fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
     201                fRevertButton->SetEnabled(true);
    193202                fSettingsView->MouseMapUpdated();
    194203            }
    195204            break;
     
    201210    }
    202211}
    203212
    204 
    205 void
    206 MouseWindow::SetRevertable(bool revertable)
    207 {
    208     fRevertButton->SetEnabled(revertable);
    209 }
    210 
  • src/preferences/mouse/MouseWindow.h

     
    3333        virtual bool QuitRequested();
    3434        virtual void MessageReceived(BMessage *message);
    3535
    36         void SetRevertable(bool revertable);
    37 
    3836    private:
    3937        MouseSettings   fSettings;
     38        BButton         *fDefaultsButton;
    4039        BButton         *fRevertButton;
    4140        SettingsView    *fSettingsView;
    4241};
  • src/preferences/mouse/MouseSettings.cpp

     
    191191}
    192192
    193193
     194/** Checks if the settings are different then the system defaults
     195 */
     196
     197bool
     198MouseSettings::IsDefaultable()
     199{
     200    return fSettings.click_speed != kDefaultClickSpeed
     201        || fSettings.accel.speed != kDefaultMouseSpeed
     202        || fSettings.type != kDefaultMouseType
     203        || fSettings.accel.accel_factor != kDefaultAccelerationFactor
     204        || fMode != B_NORMAL_MOUSE
     205        || fSettings.map.button[0] != B_PRIMARY_MOUSE_BUTTON
     206        || fSettings.map.button[1] != B_SECONDARY_MOUSE_BUTTON
     207        || fSettings.map.button[2] != B_TERTIARY_MOUSE_BUTTON;
     208}
     209
     210
    194211/** Reverts to the active settings at program startup
    195212 */
    196213
  • src/preferences/fonts/FontView.cpp

     
    9393    fFixedView->RelayoutIfNeeded();
    9494}
    9595
     96bool
     97FontView::IsDefaultable()
     98{
     99    return fPlainView->IsDefaultable()
     100        || fBoldView->IsDefaultable()
     101        || fFixedView->IsDefaultable();
     102}
    96103
    97104bool
    98105FontView::IsRevertable()
  • src/preferences/fonts/MainWindow.h

     
    3333
    3434        BMessageRunner* fRunner;
    3535        FontView*       fFontsView;
     36        BButton*        fDefaultsButton;
    3637        BButton*        fRevertButton;
    3738
    3839        FontsSettings   fSettings;
  • src/preferences/fonts/FontView.h

     
    2525        void    UpdateFonts();
    2626        void    RelayoutIfNeeded();
    2727
     28        bool    IsDefaultable();
    2829        bool    IsRevertable();
    2930
    3031    private:
  • src/preferences/fonts/FontSelectionView.cpp

     
    392392
    393393
    394394bool
     395FontSelectionView::IsDefaultable()
     396{
     397    font_family default_family;
     398    font_style default_style;
     399    float default_size;
     400
     401    if (_get_system_default_font_(Name(), default_family, default_style, &default_size) != B_OK)
     402        return false;
     403
     404    font_family current_family;
     405    font_style current_style;
     406    float current_size;
     407
     408    fCurrentFont.GetFamilyAndStyle(&current_family, &current_style);
     409    current_size = fCurrentFont.Size();
     410
     411    return strcmp(current_family, default_family) != 0
     412        || strcmp(current_style, default_style) != 0
     413        || current_size != default_size;
     414}
     415
     416
     417bool
    395418FontSelectionView::IsRevertable()
    396419{
    397420    return fCurrentFont != fSavedFont;
  • src/preferences/fonts/FontSelectionView.h

     
    3434
    3535        void            SetDefaults();
    3636        void            Revert();
     37        bool            IsDefaultable();
    3738        bool            IsRevertable();
    3839
    3940        void            UpdateFontsMenu();
  • src/preferences/fonts/MainWindow.cpp

     
    3535
    3636    rect.left = 10;
    3737    rect.top = rect.bottom - 10;
    38     BButton *button = new BButton(rect, "defaults", "Defaults",
     38    fDefaultsButton = new BButton(rect, "defaults", "Defaults",
    3939        new BMessage(kMsgSetDefaults), B_FOLLOW_LEFT | B_FOLLOW_BOTTOM, B_WILL_DRAW);
    40     button->ResizeToPreferred();
    41     float buttonHeight = button->Bounds().Height();
    42     button->MoveBy(0, -buttonHeight);
    43     view->AddChild(button);
     40    fDefaultsButton->ResizeToPreferred();
     41    fDefaultsButton->SetEnabled(false);
     42    float buttonHeight = fDefaultsButton->Bounds().Height();
     43    fDefaultsButton->MoveBy(0, -buttonHeight);
     44    view->AddChild(fDefaultsButton);
    4445
    45     rect = button->Frame();
    46     rect.OffsetBy(button->Bounds().Width() + 10, 0);
     46    rect = fDefaultsButton->Frame();
     47    rect.OffsetBy(fDefaultsButton->Bounds().Width() + 10, 0);
    4748
    4849    fRevertButton = new BButton(rect, "revert", "Revert",
    4950        new BMessage(kMsgRevert), B_FOLLOW_LEFT | B_FOLLOW_BOTTOM, B_WILL_DRAW);
     
    99100
    100101    fRunner = new BMessageRunner(this, new BMessage(kMsgCheckFonts), 3000000);
    101102        // every 3 seconds
     103
     104    fDefaultsButton->SetEnabled(fFontsView->IsDefaultable());
    102105}
    103106
    104107
     
    123126{
    124127    switch (message->what) {
    125128        case kMsgUpdate:
     129            fDefaultsButton->SetEnabled(fFontsView->IsDefaultable());
    126130            fRevertButton->SetEnabled(fFontsView->IsRevertable());
    127131            break;
    128132
    129133        case kMsgSetDefaults:
    130134            fFontsView->SetDefaults();
     135            fDefaultsButton->SetEnabled(false);
    131136            fRevertButton->SetEnabled(fFontsView->IsRevertable());
    132137            break;
    133138
    134139        case kMsgRevert:
    135140            fFontsView->Revert();
     141            fDefaultsButton->SetEnabled(fFontsView->IsDefaultable());
    136142            fRevertButton->SetEnabled(false);
    137143            break;
    138144
  • src/preferences/keyboard/KeyboardSettings.cpp

     
    117117    SetKeyboardRepeatDelay(kb_default_key_repeat_delay);
    118118    SetKeyboardRepeatRate(kb_default_key_repeat_rate);
    119119}
     120
     121
     122bool
     123KeyboardSettings::IsDefaultable()
     124{
     125    return fSettings.key_repeat_delay != kb_default_key_repeat_delay
     126        || fSettings.key_repeat_rate != kb_default_key_repeat_rate;
     127}
  • src/preferences/keyboard/KeyboardSettings.h

     
    2121    void Dump();
    2222    void Revert();
    2323    void Defaults();
     24    bool IsDefaultable();
    2425   
    2526    BPoint WindowCorner() const { return fCorner; }
    2627    void SetWindowCorner(BPoint corner);
  • src/preferences/keyboard/KeyboardWindow.cpp

     
    3939    if (slider !=NULL)
    4040        slider->SetValue(fSettings.KeyboardRepeatDelay());
    4141   
     42    BButton *button = (BButton *)FindView("keyboard_defaults");
     43    if (button !=NULL)
     44        button->SetEnabled(fSettings.IsDefaultable());
     45
    4246#ifdef DEBUG
    4347    fSettings.Dump();   
    4448#endif
     
    7882                slider = (BSlider *)FindView("delay_until_key_repeat");
    7983                if (slider !=NULL)
    8084                    slider->SetValue(fSettings.KeyboardRepeatDelay());
     85
     86                button = (BButton *)FindView("keyboard_defaults");
     87                if (button !=NULL)
     88                    button->SetEnabled(false);
    8189               
    8290                button = (BButton *)FindView("keyboard_revert");
    8391                if (button !=NULL)
     
    95103                if (slider !=NULL)
    96104                    slider->SetValue(fSettings.KeyboardRepeatDelay());             
    97105               
     106                button = (BButton *)FindView("keyboard_defaults");
     107                if (button !=NULL)
     108                    button->SetEnabled(fSettings.IsDefaultable());
     109
    98110                button = (BButton *)FindView("keyboard_revert");
    99111                if (button !=NULL)
    100112                    button->SetEnabled(false);
     
    106118                    break;
    107119                fSettings.SetKeyboardRepeatRate(rate);
    108120               
     121                button = (BButton *)FindView("keyboard_defaults");
     122                if (button !=NULL)
     123                    button->SetEnabled(fSettings.IsDefaultable());
     124
    109125                button = (BButton *)FindView("keyboard_revert");
    110126                if (button !=NULL)
    111127                    button->SetEnabled(true);
     
    133149                if (slider !=NULL)
    134150                    slider->SetValue(delay);
    135151
     152                button = (BButton *)FindView("keyboard_defaults");
     153                if (button !=NULL)
     154                    button->SetEnabled(fSettings.IsDefaultable());
     155
    136156                button = (BButton *)FindView("keyboard_revert");
    137157                if (button !=NULL)
    138158                    button->SetEnabled(true);
  • src/preferences/sounds/HWindow.cpp

     
    139139                        ,new BMessage(M_STOP_MESSAGE)
    140140                        ,B_FOLLOW_RIGHT | B_FOLLOW_TOP);
    141141    button->ResizeToPreferred();
     142    button->SetEnabled(false);
    142143    button->MoveTo(box->Bounds().right - button->Bounds().Width() - 15, rect.top);
    143144    box->AddChild(button);
    144145   
     
    153154                                ,new BMessage(M_PLAY_MESSAGE)
    154155                                ,B_FOLLOW_RIGHT | B_FOLLOW_TOP);
    155156    button->ResizeToPreferred();
     157    button->SetEnabled(false);
    156158    button->MoveTo(rect.left - button->Bounds().Width() - 15, rect.top);
    157159    box->AddChild(button);
    158160   
     
    408410   
    409411    if(!menufield)
    410412        return;
     413
    411414    if(sel >=0) {
    412         menufield->SetEnabled(true);
    413         button->SetEnabled(true);
     415        HEventItem *item = cast_as(fEventList->ItemAt(sel),HEventItem);
     416        const char* path = item->Path();
     417
     418        menufield->SetEnabled(path != NULL);
     419        button->SetEnabled(path != NULL);
    414420    } else {
    415421        menufield->SetEnabled(false);
    416422        button->SetEnabled(false);