BOOL FeedConditionDialog::OnCommand(WPARAM wParam, LPARAM lParam) { switch (HIWORD(wParam)) { case CBN_SELCHANGE: { if (LOWORD(wParam) == IDC_COMBO_FEED_ELEMENT) { ChooseElement(element_combo_.GetCurSel()); } break; } } return FALSE; }
BOOL FeedConditionDialog::OnInitDialog() { // Set title if (condition.element != 0 || condition.op != 0 || !condition.value.empty()) { SetText(L"Edit Condition"); } // Initialize element_combo_.Attach(GetDlgItem(IDC_COMBO_FEED_ELEMENT)); operator_combo_.Attach(GetDlgItem(IDC_COMBO_FEED_OPERATOR)); value_combo_.Attach(GetDlgItem(IDC_COMBO_FEED_VALUE)); // Add elements for (int i = 0; i < FEED_FILTER_ELEMENT_COUNT; i++) { element_combo_.AddItem(Aggregator.filter_manager.TranslateElement(i).c_str(), i); } // Set element element_combo_.SetCurSel(condition.element); ChooseElement(condition.element); // Set operator operator_combo_.SetCurSel(operator_combo_.FindItemData(condition.op)); // Set value switch (condition.element) { case FEED_FILTER_ELEMENT_META_ID: { value_combo_.SetCurSel(0); for (int i = 0; i < value_combo_.GetCount(); i++) { int anime_id = static_cast<int>(value_combo_.GetItemData(i)); if (anime_id == ToInt(condition.value)) { value_combo_.SetCurSel(i); break; } } break; } case FEED_FILTER_ELEMENT_USER_STATUS: { int value = ToInt(condition.value); if (value == 6) value--; value_combo_.SetCurSel(value); break; } case FEED_FILTER_ELEMENT_META_STATUS: case FEED_FILTER_ELEMENT_META_TYPE: value_combo_.SetCurSel(ToInt(condition.value) - 1); break; case FEED_FILTER_ELEMENT_LOCAL_EPISODE_AVAILABLE: value_combo_.SetCurSel(condition.value == L"True" ? 1 : 0); break; default: value_combo_.SetText(condition.value); } return TRUE; }
BOOL FeedConditionDialog::OnInitDialog() { // Set title if (condition.element != 0 || condition.op != 0 || !condition.value.empty()) SetText(L"Edit Condition"); // Initialize element_combo_.Attach(GetDlgItem(IDC_COMBO_FEED_ELEMENT)); operator_combo_.Attach(GetDlgItem(IDC_COMBO_FEED_OPERATOR)); value_combo_.Attach(GetDlgItem(IDC_COMBO_FEED_VALUE)); // Add elements for (int i = 0; i < kFeedFilterElement_Count; i++) element_combo_.AddItem(Aggregator.filter_manager.TranslateElement(i).c_str(), i); // Set element element_combo_.SetCurSel(condition.element); ChooseElement(condition.element); // Set operator operator_combo_.SetCurSel(operator_combo_.FindItemData(condition.op)); // Set value switch (condition.element) { case kFeedFilterElement_Meta_Id: { value_combo_.SetCurSel(0); for (int i = 0; i < value_combo_.GetCount(); i++) { int anime_id = static_cast<int>(value_combo_.GetItemData(i)); if (anime_id == ToInt(condition.value)) { value_combo_.SetCurSel(i); break; } } break; } case kFeedFilterElement_User_Status: { int value = ToInt(condition.value); value_combo_.SetCurSel(value); break; } case kFeedFilterElement_Meta_Status: case kFeedFilterElement_Meta_Type: value_combo_.SetCurSel(ToInt(condition.value) - 1); break; case kFeedFilterElement_Local_EpisodeAvailable: value_combo_.SetCurSel(condition.value == L"True" ? 1 : 0); break; default: value_combo_.SetText(condition.value); } return TRUE; }