diff --git a/post_frame.lua b/post_frame.lua index 0416807..2e233c7 100644 --- a/post_frame.lua +++ b/post_frame.lua @@ -43,7 +43,7 @@ function private.update_auction_listing() local auction_rows = {} if selected_item then for i, auction_record in ipairs(existing_auctions[selected_item.key] or {}) do - local stack_size = auction_record.stack_size == private.get_stack_size_slider_value() and GREEN_FONT_COLOR_CODE..auction_record.stack_size..FONT_COLOR_CODE_CLOSE or auction_record.stack_size + local stack_size = auction_record.stack_size == private.stack_size_slider:GetValue() and GREEN_FONT_COLOR_CODE..auction_record.stack_size..FONT_COLOR_CODE_CLOSE or auction_record.stack_size local market_value = Aux.history.market_value(auction_record.item_key) tinsert(auction_rows, { cols = { @@ -167,15 +167,12 @@ function public.on_load() private.quantity_update() end) slider.editbox:SetScript('OnTextChanged', function() - if slider.charge_classes then - local charge_slider_value = Aux.util.index_of(this:GetNumber(), slider.charge_classes) - if charge_slider_value then - slider:SetValue(charge_slider_value) - end - else - slider:SetValue(this:GetNumber()) - end + slider:SetValue(this:GetNumber()) private.quantity_update() + if selected_item then + local settings = private.load_settings() + settings.stack_size = this:GetNumber() + end end) slider.editbox:SetScript('OnEscapePressed', function() this:ClearFocus() @@ -209,14 +206,7 @@ function public.on_load() private.quantity_update() end) slider.editbox:SetScript('OnTextChanged', function() - if slider.charge_classes then - local index = Aux.util.index_of(this:GetNumber(), slider.charge_classes) - if index then - slider:SetValue(index) - end - else - slider:SetValue(this:GetNumber()) - end + slider:SetValue(this:GetNumber()) private.quantity_update() end) slider.editbox:SetScript('OnEscapePressed', function() @@ -395,7 +385,7 @@ end function private.post_auctions() local auction = selected_item if auction then - local key, hyperlink, stack_size, buyout_price, stack_count = auction.key, auction.hyperlink, private.get_stack_size_slider_value(), Aux.money.from_string(private.buyout_price:GetText()), private.stack_count_slider:GetValue() + local key, hyperlink, stack_size, buyout_price, stack_count = auction.key, auction.hyperlink, private.stack_size_slider:GetValue(), Aux.money.from_string(private.buyout_price:GetText()), private.stack_count_slider:GetValue() local duration if UIDropDownMenu_GetSelectedValue(private.duration_dropdown) == DURATION_4 then duration = 2 @@ -457,21 +447,13 @@ function private.select_auction() end end - local auction = cheapest_for_size[private.get_stack_size_slider_value()] or cheapest + local auction = cheapest_for_size[private.stack_size_slider:GetValue()] or cheapest existing_auctions[selected_item.key].selected = auction refresh = true end end -function private.get_stack_size_slider_value() - if selected_item.charges then - return private.stack_size_slider.charge_classes[private.stack_size_slider:GetValue()] - else - return private.stack_size_slider:GetValue() - end -end - function private.validate_parameters() private.post_button:Disable() @@ -528,11 +510,11 @@ function private.update_recommendation() AuxSellParametersItemCount:SetText() end - private.stack_size_slider.editbox:SetNumber(selected_item.charges and private.stack_size_slider.charge_classes[private.stack_size_slider:GetValue()] or private.stack_size_slider:GetValue()) + private.stack_size_slider.editbox:SetNumber(private.stack_size_slider:GetValue()) private.stack_count_slider.editbox:SetNumber(private.stack_count_slider:GetValue()) -- TODO neutral AH deposit formula - private.deposit:SetText('Deposit: '..Aux.money.to_string(floor(selected_item.unit_vendor_price * 0.05 * (selected_item.charges and 1 or private.get_stack_size_slider_value())) * private.stack_count_slider:GetValue() * UIDropDownMenu_GetSelectedValue(private.duration_dropdown) / 120)) + private.deposit:SetText('Deposit: '..Aux.money.to_string(floor(selected_item.unit_vendor_price * 0.05 * (selected_item.charges and 1 or private.stack_size_slider:GetValue())) * private.stack_count_slider:GetValue() * UIDropDownMenu_GetSelectedValue(private.duration_dropdown) / 120)) private.refresh_button:Enable() @@ -564,7 +546,7 @@ function private.undercutting_suggestion() if existing_auctions[selected_item.key].selected then - local price_suggestion = existing_auctions[selected_item.key].selected.unit_buyout_price * private.get_stack_size_slider_value() + local price_suggestion = existing_auctions[selected_item.key].selected.unit_buyout_price * private.stack_size_slider:GetValue() if existing_auctions[selected_item.key].selected.yours == 0 then price_suggestion = private.undercut(price_suggestion) @@ -577,7 +559,7 @@ function private.undercutting_suggestion() end function private.market_value_suggestion() - local price_suggestion = Aux.history.market_value(selected_item.key) and 1.2 * Aux.history.market_value(selected_item.key) * private.get_stack_size_slider_value() + local price_suggestion = Aux.history.market_value(selected_item.key) and 1.2 * Aux.history.market_value(selected_item.key) * private.stack_size_slider:GetValue() if not price_suggestion then return 0, 0 end @@ -586,7 +568,7 @@ end function private.quantity_update() if selected_item then - private.stack_count_slider:SetMinMaxValues(1, selected_item.charges and selected_item.availability[private.stack_size_slider.charge_classes[private.stack_size_slider:GetValue()]] or floor(selected_item.availability[0] / private.get_stack_size_slider_value())) + private.stack_count_slider:SetMinMaxValues(1, selected_item.charges and selected_item.availability[private.stack_size_slider:GetValue()] or floor(selected_item.availability[0] / private.stack_size_slider:GetValue())) end private.update_recommendation() refresh = true @@ -646,10 +628,7 @@ function private.set_item(item) UIDropDownMenu_Initialize(private.pricing_model_dropdown, private.initialize_pricing_model_dropdown) UIDropDownMenu_SetSelectedValue(private.pricing_model_dropdown, settings.pricing_model) - local charge_classes = private.charge_classes(selected_item.availability) - private.stack_size_slider.charge_classes = selected_item.charges and charge_classes - local stack_size_slider_max = selected_item.charges and getn(charge_classes) or selected_item.max_stack - private.stack_size_slider:SetMinMaxValues(1, stack_size_slider_max) + private.stack_size_slider:SetMinMaxValues(1, selected_item.charges and 5 or selected_item.max_stack) private.hide_checkbox:SetChecked(settings.hidden) private.stack_size_slider:SetValue(settings.stack_size) @@ -666,15 +645,6 @@ function private.set_item(item) end -function private.charge_classes(availability) - local charge_classes = {} - for charge_class, _ in availability do - tinsert(charge_classes, charge_class) - end - sort(charge_classes, function(c1, c2) return c1 < c2 end) - return charge_classes -end - function private.update_inventory_records() inventory_records = {} refresh = true