Ticket #5812: 0001-filetypes-saving.patch

File 0001-filetypes-saving.patch, 4.1 KB (added by siarzhuk, 10 years ago)

Result of corresponding GCI 2013 task

  • src/preferences/filetypes/ApplicationTypeWindow.cpp

    From eb471e55e290f6d3d4ce1e2afc63e27f8469141b Mon Sep 17 00:00:00 2001
    From: Freeman Lou <freemanlou2430@Yahoo.com>
    Date: Fri, 13 Dec 2013 03:39:47 +0000
    Subject: [PATCH] filetypes saving
    
    ---
     .../filetypes/ApplicationTypeWindow.cpp            | 50 +++++++++++++++++-----
     1 file changed, 39 insertions(+), 11 deletions(-)
    
    diff --git a/src/preferences/filetypes/ApplicationTypeWindow.cpp b/src/preferences/filetypes/ApplicationTypeWindow.cpp
    index df1e7a4..7671ccc 100644
    a b const uint32 kMsgSave = 'save';  
    5050const uint32 kMsgSignatureChanged = 'sgch';
    5151const uint32 kMsgToggleAppFlags = 'tglf';
    5252const uint32 kMsgAppFlagsChanged = 'afch';
     53const uint32 kMsgVersionChanged = 'vsch';
    5354
    5455const uint32 kMsgIconChanged = 'icch';
    5556const uint32 kMsgTypeIconsChanged = 'tich';
    TabFilteringTextView::KeyDown(const char* bytes, int32 count)  
    132133        BView::KeyDown(bytes, count);
    133134    else
    134135        BTextView::KeyDown(bytes, count);
     136
     137    BMessage msg(kMsgVersionChanged);
     138    Window()->PostMessage(&msg);
    135139}
    136140
    137141
    ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,  
    397401    versionBox->SetLabel(B_TRANSLATE("Version info"));
    398402
    399403    fMajorVersionControl = new BTextControl(B_TRANSLATE("Version:"),
    400         NULL, NULL);
     404        NULL, new BMessage(kMsgVersionChanged));
     405    fMajorVersionControl->SetModificationMessage(
     406        new BMessage(kMsgVersionChanged));
    401407    _MakeNumberTextControl(fMajorVersionControl);
    402408
    403     fMiddleVersionControl = new BTextControl(".", NULL, NULL);
     409    fMiddleVersionControl = new BTextControl(".", NULL,
     410        new BMessage(kMsgVersionChanged));
     411    fMiddleVersionControl->SetModificationMessage(
     412        new BMessage(kMsgVersionChanged));
    404413    _MakeNumberTextControl(fMiddleVersionControl);
    405414
    406     fMinorVersionControl = new BTextControl(".", NULL, NULL);
     415    fMinorVersionControl = new BTextControl(".", NULL,
     416        new BMessage(kMsgVersionChanged));
     417    fMinorVersionControl->SetModificationMessage(
     418        new BMessage(kMsgVersionChanged));
    407419    _MakeNumberTextControl(fMinorVersionControl);
    408420
    409421    fVarietyMenu = new BPopUpMenu("variety", true, true);
    410     fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Development"), NULL));
    411     fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Alpha"), NULL));
    412     fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Beta"), NULL));
    413     fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Gamma"), NULL));
    414     item = new BMenuItem(B_TRANSLATE("Golden master"), NULL);
     422    fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Development"),
     423        new BMessage(kMsgVersionChanged)));
     424    fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Alpha"),
     425        new BMessage(kMsgVersionChanged)));
     426    fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Beta"),
     427        new BMessage(kMsgVersionChanged)));
     428    fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Gamma"),
     429        new BMessage(kMsgVersionChanged)));
     430    item = new BMenuItem(B_TRANSLATE("Golden master"),
     431        new BMessage(kMsgVersionChanged));
    415432    fVarietyMenu->AddItem(item);
    416433    item->SetMarked(true);
    417     fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Final"), NULL));
     434    fVarietyMenu->AddItem(new BMenuItem(B_TRANSLATE("Final"),
     435        new BMessage(kMsgVersionChanged)));
    418436
    419437    BMenuField* varietyField = new BMenuField("", fVarietyMenu);
    420     fInternalVersionControl = new BTextControl("/", NULL, NULL);
     438    fInternalVersionControl = new BTextControl("/", NULL,
     439        new BMessage(kMsgVersionChanged));
     440    fInternalVersionControl->SetModificationMessage(
     441        new BMessage(kMsgVersionChanged));
    421442    fShortDescriptionControl =
    422         new BTextControl(B_TRANSLATE("Short description:"), NULL, NULL);
     443        new BTextControl(B_TRANSLATE("Short description:"), NULL,
     444        new BMessage(kMsgVersionChanged));
     445    fShortDescriptionControl->SetModificationMessage(
     446        new BMessage(kMsgVersionChanged));
    423447
    424448    // TODO: workaround for a GCC 4.1.0 bug? Or is that really what the standard says?
    425449    version_info versionInfo;
    ApplicationTypeWindow::MessageReceived(BMessage* message)  
    899923            fOriginalInfo.typeIconsChanged = true;
    900924            _CheckSaveMenuItem(CHECK_TYPE_ICONS);
    901925            break;
     926           
     927        case kMsgVersionChanged:
     928            _CheckSaveMenuItem(CHECK_VERSION);
     929            break;
    902930
    903931        case kMsgSave:
    904932            _Save();