mirror of
https://github.com/OpenMW/openmw.git
synced 2025-05-31 22:11:31 +00:00
Scrollbars don't save their positions between openings
This commit is contained in:
parent
67f04e0ba1
commit
c40987338d
16 changed files with 48 additions and 0 deletions
|
@ -130,6 +130,7 @@ namespace MWGui
|
||||||
mSortModel = new SortFilterItemModel(model);
|
mSortModel = new SortFilterItemModel(model);
|
||||||
mSortModel->setFilter(SortFilterItemModel::Filter_OnlyIngredients);
|
mSortModel->setFilter(SortFilterItemModel::Filter_OnlyIngredients);
|
||||||
mItemView->setModel (mSortModel);
|
mItemView->setModel (mSortModel);
|
||||||
|
mItemView->resetScrollBars();
|
||||||
|
|
||||||
mNameEdit->setCaption("");
|
mNameEdit->setCaption("");
|
||||||
|
|
||||||
|
|
|
@ -114,6 +114,7 @@ void CompanionWindow::open(const MWWorld::Ptr& npc)
|
||||||
mModel = new CompanionItemModel(npc);
|
mModel = new CompanionItemModel(npc);
|
||||||
mSortModel = new SortFilterItemModel(mModel);
|
mSortModel = new SortFilterItemModel(mModel);
|
||||||
mItemView->setModel(mSortModel);
|
mItemView->setModel(mSortModel);
|
||||||
|
mItemView->resetScrollBars();
|
||||||
|
|
||||||
setTitle(npc.getClass().getName(npc));
|
setTitle(npc.getClass().getName(npc));
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,6 +151,7 @@ namespace MWGui
|
||||||
mSortModel = new SortFilterItemModel(mModel);
|
mSortModel = new SortFilterItemModel(mModel);
|
||||||
|
|
||||||
mItemView->setModel (mSortModel);
|
mItemView->setModel (mSortModel);
|
||||||
|
mItemView->resetScrollBars();
|
||||||
|
|
||||||
MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(mCloseButton);
|
MWBase::Environment::get().getWindowManager()->setKeyFocusWidget(mCloseButton);
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ namespace MWGui
|
||||||
mModel = new InventoryItemModel(container);
|
mModel = new InventoryItemModel(container);
|
||||||
mSortModel = new SortFilterItemModel(mModel);
|
mSortModel = new SortFilterItemModel(mModel);
|
||||||
mItemView->setModel(mSortModel);
|
mItemView->setModel(mSortModel);
|
||||||
|
mItemView->resetScrollBars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ItemSelectionDialog::setCategory(int category)
|
void ItemSelectionDialog::setCategory(int category)
|
||||||
|
|
|
@ -128,6 +128,11 @@ void ItemView::update()
|
||||||
layoutWidgets();
|
layoutWidgets();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ItemView::resetScrollBars()
|
||||||
|
{
|
||||||
|
mScrollView->setViewOffset(MyGUI::IntPoint(0, 0));
|
||||||
|
}
|
||||||
|
|
||||||
void ItemView::onSelectedItem(MyGUI::Widget *sender)
|
void ItemView::onSelectedItem(MyGUI::Widget *sender)
|
||||||
{
|
{
|
||||||
ItemModel::ModelIndex index = (*sender->getUserData<std::pair<ItemModel::ModelIndex, ItemModel*> >()).first;
|
ItemModel::ModelIndex index = (*sender->getUserData<std::pair<ItemModel::ModelIndex, ItemModel*> >()).first;
|
||||||
|
|
|
@ -30,6 +30,8 @@ namespace MWGui
|
||||||
|
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
|
void resetScrollBars();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void initialiseOverride();
|
virtual void initialiseOverride();
|
||||||
|
|
||||||
|
|
|
@ -114,6 +114,8 @@ void MerchantRepair::onMouseWheel(MyGUI::Widget* _sender, int _rel)
|
||||||
void MerchantRepair::open()
|
void MerchantRepair::open()
|
||||||
{
|
{
|
||||||
center();
|
center();
|
||||||
|
// Reset scrollbars
|
||||||
|
mList->setViewOffset(MyGUI::IntPoint(0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MerchantRepair::exit()
|
void MerchantRepair::exit()
|
||||||
|
|
|
@ -548,6 +548,7 @@ namespace MWGui
|
||||||
WindowModal::open();
|
WindowModal::open();
|
||||||
|
|
||||||
mMagicList->setModel(new SpellModel(MWBase::Environment::get().getWorld()->getPlayerPtr()));
|
mMagicList->setModel(new SpellModel(MWBase::Environment::get().getWorld()->getPlayerPtr()));
|
||||||
|
mMagicList->resetScrollbars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MagicSelectionDialog::onModelIndexSelected(SpellModel::ModelIndex index)
|
void MagicSelectionDialog::onModelIndexSelected(SpellModel::ModelIndex index)
|
||||||
|
|
|
@ -44,6 +44,8 @@ Recharge::Recharge()
|
||||||
void Recharge::open()
|
void Recharge::open()
|
||||||
{
|
{
|
||||||
center();
|
center();
|
||||||
|
// Reset scrollbars
|
||||||
|
mView->setViewOffset(MyGUI::IntPoint(0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Recharge::exit()
|
void Recharge::exit()
|
||||||
|
|
|
@ -36,6 +36,8 @@ Repair::Repair()
|
||||||
void Repair::open()
|
void Repair::open()
|
||||||
{
|
{
|
||||||
center();
|
center();
|
||||||
|
// Reset scrollbars
|
||||||
|
mRepairView->setViewOffset(MyGUI::IntPoint(0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Repair::exit()
|
void Repair::exit()
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include <MyGUI_ListBox.h>
|
#include <MyGUI_ListBox.h>
|
||||||
#include <MyGUI_ScrollView.h>
|
#include <MyGUI_ScrollView.h>
|
||||||
#include <MyGUI_Gui.h>
|
#include <MyGUI_Gui.h>
|
||||||
|
#include <MyGUI_TabControl.h>
|
||||||
|
|
||||||
#include <boost/algorithm/string.hpp>
|
#include <boost/algorithm/string.hpp>
|
||||||
#include <boost/math/common_factor_rt.hpp>
|
#include <boost/math/common_factor_rt.hpp>
|
||||||
|
@ -170,6 +171,7 @@ namespace MWGui
|
||||||
|
|
||||||
setTitle("#{sOptions}");
|
setTitle("#{sOptions}");
|
||||||
|
|
||||||
|
getWidget(mSettingsTab, "SettingsTab");
|
||||||
getWidget(mOkButton, "OkButton");
|
getWidget(mOkButton, "OkButton");
|
||||||
getWidget(mResolutionList, "ResolutionList");
|
getWidget(mResolutionList, "ResolutionList");
|
||||||
getWidget(mFullscreenButton, "FullscreenButton");
|
getWidget(mFullscreenButton, "FullscreenButton");
|
||||||
|
@ -208,6 +210,7 @@ namespace MWGui
|
||||||
|
|
||||||
mMainWidget->castType<MyGUI::Window>()->eventWindowChangeCoord += MyGUI::newDelegate(this, &SettingsWindow::onWindowResize);
|
mMainWidget->castType<MyGUI::Window>()->eventWindowChangeCoord += MyGUI::newDelegate(this, &SettingsWindow::onWindowResize);
|
||||||
|
|
||||||
|
mSettingsTab->eventTabChangeSelect += MyGUI::newDelegate(this, &SettingsWindow::onTabChanged);
|
||||||
mOkButton->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsWindow::onOkButtonClicked);
|
mOkButton->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsWindow::onOkButtonClicked);
|
||||||
mShaderModeButton->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsWindow::onShaderModeToggled);
|
mShaderModeButton->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsWindow::onShaderModeToggled);
|
||||||
mTextureFilteringButton->eventComboChangePosition += MyGUI::newDelegate(this, &SettingsWindow::onTextureFilteringChanged);
|
mTextureFilteringButton->eventComboChangePosition += MyGUI::newDelegate(this, &SettingsWindow::onTextureFilteringChanged);
|
||||||
|
@ -275,6 +278,11 @@ namespace MWGui
|
||||||
mControllerSwitch->setStateSelected(false);
|
mControllerSwitch->setStateSelected(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsWindow::onTabChanged(MyGUI::TabControl* /*_sender*/, size_t /*index*/)
|
||||||
|
{
|
||||||
|
resetScrollbars();
|
||||||
|
}
|
||||||
|
|
||||||
void SettingsWindow::onOkButtonClicked(MyGUI::Widget* _sender)
|
void SettingsWindow::onOkButtonClicked(MyGUI::Widget* _sender)
|
||||||
{
|
{
|
||||||
exit();
|
exit();
|
||||||
|
@ -480,6 +488,7 @@ namespace MWGui
|
||||||
mKeyboardSwitch->setStateSelected(true);
|
mKeyboardSwitch->setStateSelected(true);
|
||||||
mControllerSwitch->setStateSelected(false);
|
mControllerSwitch->setStateSelected(false);
|
||||||
updateControlsBox();
|
updateControlsBox();
|
||||||
|
resetScrollbars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsWindow::onControllerSwitchClicked(MyGUI::Widget* _sender)
|
void SettingsWindow::onControllerSwitchClicked(MyGUI::Widget* _sender)
|
||||||
|
@ -490,6 +499,7 @@ namespace MWGui
|
||||||
mKeyboardSwitch->setStateSelected(false);
|
mKeyboardSwitch->setStateSelected(false);
|
||||||
mControllerSwitch->setStateSelected(true);
|
mControllerSwitch->setStateSelected(true);
|
||||||
updateControlsBox();
|
updateControlsBox();
|
||||||
|
resetScrollbars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsWindow::updateControlsBox()
|
void SettingsWindow::updateControlsBox()
|
||||||
|
@ -584,6 +594,7 @@ namespace MWGui
|
||||||
void SettingsWindow::open()
|
void SettingsWindow::open()
|
||||||
{
|
{
|
||||||
updateControlsBox ();
|
updateControlsBox ();
|
||||||
|
resetScrollbars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsWindow::exit()
|
void SettingsWindow::exit()
|
||||||
|
@ -595,4 +606,10 @@ namespace MWGui
|
||||||
{
|
{
|
||||||
updateControlsBox();
|
updateControlsBox();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsWindow::resetScrollbars()
|
||||||
|
{
|
||||||
|
mResolutionList->setScrollPosition(0);
|
||||||
|
mControlsBox->setViewOffset(MyGUI::IntPoint(0, 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ namespace MWGui
|
||||||
void updateControlsBox();
|
void updateControlsBox();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
MyGUI::TabControl* mSettingsTab;
|
||||||
MyGUI::Button* mOkButton;
|
MyGUI::Button* mOkButton;
|
||||||
|
|
||||||
// graphics
|
// graphics
|
||||||
|
@ -50,6 +51,7 @@ namespace MWGui
|
||||||
MyGUI::Button* mControllerSwitch;
|
MyGUI::Button* mControllerSwitch;
|
||||||
bool mKeyboardMode; //if true, setting up the keyboard. Otherwise, it's controller
|
bool mKeyboardMode; //if true, setting up the keyboard. Otherwise, it's controller
|
||||||
|
|
||||||
|
void onTabChanged(MyGUI::TabControl* _sender, size_t index);
|
||||||
void onOkButtonClicked(MyGUI::Widget* _sender);
|
void onOkButtonClicked(MyGUI::Widget* _sender);
|
||||||
void onFpsToggled(MyGUI::Widget* _sender);
|
void onFpsToggled(MyGUI::Widget* _sender);
|
||||||
void onTextureFilteringChanged(MyGUI::ComboBox* _sender, size_t pos);
|
void onTextureFilteringChanged(MyGUI::ComboBox* _sender, size_t pos);
|
||||||
|
@ -74,6 +76,9 @@ namespace MWGui
|
||||||
void apply();
|
void apply();
|
||||||
|
|
||||||
void configureWidgets(MyGUI::Widget* widget);
|
void configureWidgets(MyGUI::Widget* widget);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void resetScrollbars();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -551,6 +551,7 @@ namespace MWGui
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
mAvailableEffectsList->adjustSize ();
|
mAvailableEffectsList->adjustSize ();
|
||||||
|
mAvailableEffectsList->scrollToTop();
|
||||||
|
|
||||||
for (std::vector<short>::const_iterator it = knownEffects.begin(); it != knownEffects.end(); ++it)
|
for (std::vector<short>::const_iterator it = knownEffects.begin(); it != knownEffects.end(); ++it)
|
||||||
{
|
{
|
||||||
|
|
|
@ -311,4 +311,8 @@ namespace MWGui
|
||||||
mScrollView->setViewOffset(MyGUI::IntPoint(0, static_cast<int>(mScrollView->getViewOffset().top + _rel*0.3f)));
|
mScrollView->setViewOffset(MyGUI::IntPoint(0, static_cast<int>(mScrollView->getViewOffset().top + _rel*0.3f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SpellView::resetScrollbars()
|
||||||
|
{
|
||||||
|
mScrollView->setViewOffset(MyGUI::IntPoint(0, 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,6 +51,8 @@ namespace MWGui
|
||||||
virtual void setSize(const MyGUI::IntSize& _value);
|
virtual void setSize(const MyGUI::IntSize& _value);
|
||||||
virtual void setCoord(const MyGUI::IntCoord& _value);
|
virtual void setCoord(const MyGUI::IntCoord& _value);
|
||||||
|
|
||||||
|
void resetScrollbars();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MyGUI::ScrollView* mScrollView;
|
MyGUI::ScrollView* mScrollView;
|
||||||
|
|
||||||
|
|
|
@ -136,6 +136,7 @@ namespace MWGui
|
||||||
mTradeModel = new TradeItemModel(new ContainerItemModel(itemSources, worldItems), mPtr);
|
mTradeModel = new TradeItemModel(new ContainerItemModel(itemSources, worldItems), mPtr);
|
||||||
mSortModel = new SortFilterItemModel(mTradeModel);
|
mSortModel = new SortFilterItemModel(mTradeModel);
|
||||||
mItemView->setModel (mSortModel);
|
mItemView->setModel (mSortModel);
|
||||||
|
mItemView->resetScrollBars();
|
||||||
|
|
||||||
updateLabels();
|
updateLabels();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue