summaryrefslogtreecommitdiffstats
path: root/pokemodr/PokeModrUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-02-25 20:05:16 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-02-25 20:05:16 +0000
commit7737b5109b85f1ae0ad423577a7d940344a7155e (patch)
tree5b0e5b78ca0784816b6b883f5d887d6033568e02 /pokemodr/PokeModrUI.cpp
parent86b07a87ceb0154a254f104b3135a51787c57f30 (diff)
downloadsigen-7737b5109b85f1ae0ad423577a7d940344a7155e.tar.gz
sigen-7737b5109b85f1ae0ad423577a7d940344a7155e.tar.xz
sigen-7737b5109b85f1ae0ad423577a7d940344a7155e.zip
[FIX] Cleaned up .ui files
[FIX] setGui calls looking for (non-existant) images no longer pops up a BugCatcher [FIX] Tree selecting less annoying git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@84 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/PokeModrUI.cpp')
-rw-r--r--pokemodr/PokeModrUI.cpp101
1 files changed, 51 insertions, 50 deletions
diff --git a/pokemodr/PokeModrUI.cpp b/pokemodr/PokeModrUI.cpp
index acef2ef4..a23f6072 100644
--- a/pokemodr/PokeModrUI.cpp
+++ b/pokemodr/PokeModrUI.cpp
@@ -437,58 +437,59 @@ void PokeModrUI::on_splitter_splitterMoved()
config.writeEntry("panelWidth", splitter->sizes()[1]);
}
-void PokeModrUI::on_treePokemod_itemSelectionChanged()
+void PokeModrUI::on_treePokemod_currentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous)
{
- QTreeWidgetItem* cur = treePokemod->currentItem();
- PokeModTreeItem* selected = static_cast<PokeModTreeItem*>(treePokemod->selectedItems()[0]);
- if (selected->getObject())
+ Object* o = static_cast<PokeModTreeItem*>(current)->getObject();
+ if (!o)
{
- if (formPanel->widget())
- {
- if (!static_cast<ObjectUI*>(formPanel->widget())->close())
- return;
- }
- Object* o = selected->getObject();
- QString name(o->getClassName());
- ObjectUI* widget = NULL;
+ if (previous)
+ treePokemod->setCurrentItem(previous);
+ return;
+ }
+ if (formPanel->widget())
+ {
+ if (o == static_cast<ObjectUI*>(formPanel->widget())->getOriginal())
+ return;
+ if (!static_cast<ObjectUI*>(formPanel->widget())->close())
+ return;
+ }
+ QString name(o->getClassName());
+ ObjectUI* widget = NULL;
#define IF_IS_CLASS(class) if (name == #class) widget = new class##UI(static_cast<class*>(o), formPanel);
- IF_IS_CLASS(Ability)
-// else IF_IS_CLASS(AbilityEffect)
- else IF_IS_CLASS(Author)
- else IF_IS_CLASS(Badge)
- else IF_IS_CLASS(CoinList)
- else IF_IS_CLASS(CoinListObject)
-// else IF_IS_CLASS(Dialog)
- else IF_IS_CLASS(EggGroup)
- else IF_IS_CLASS(Item)
-// else IF_IS_CLASS(ItemEffect)
- else IF_IS_CLASS(ItemType)
- else IF_IS_CLASS(Map)
-// else IF_IS_CLASS(MapEffect)
-// else IF_IS_CLASS(MapTrainer)
- else IF_IS_CLASS(MapTrainerTeamMember)
- else IF_IS_CLASS(MapWarp)
- else IF_IS_CLASS(MapWildList)
- else IF_IS_CLASS(MapWildListEncounter)
- else IF_IS_CLASS(Move)
-// else IF_IS_CLASS(MoveEffect)
- else IF_IS_CLASS(Nature)
- else IF_IS_CLASS(Pokemod)
- else IF_IS_CLASS(Rules)
- else IF_IS_CLASS(Species)
- else IF_IS_CLASS(SpeciesAbility)
- else IF_IS_CLASS(SpeciesEvolution)
- else IF_IS_CLASS(SpeciesItem)
- else IF_IS_CLASS(SpeciesMove)
- else IF_IS_CLASS(Store)
- else IF_IS_CLASS(Tile)
- else IF_IS_CLASS(Time)
- else IF_IS_CLASS(Type)
+ IF_IS_CLASS(Ability)
+// else IF_IS_CLASS(AbilityEffect)
+ else IF_IS_CLASS(Author)
+ else IF_IS_CLASS(Badge)
+ else IF_IS_CLASS(CoinList)
+ else IF_IS_CLASS(CoinListObject)
+// else IF_IS_CLASS(Dialog)
+ else IF_IS_CLASS(EggGroup)
+ else IF_IS_CLASS(Item)
+// else IF_IS_CLASS(ItemEffect)
+ else IF_IS_CLASS(ItemType)
+ else IF_IS_CLASS(Map)
+// else IF_IS_CLASS(MapEffect)
+// else IF_IS_CLASS(MapTrainer)
+ else IF_IS_CLASS(MapTrainerTeamMember)
+ else IF_IS_CLASS(MapWarp)
+ else IF_IS_CLASS(MapWildList)
+ else IF_IS_CLASS(MapWildListEncounter)
+ else IF_IS_CLASS(Move)
+// else IF_IS_CLASS(MoveEffect)
+ else IF_IS_CLASS(Nature)
+ else IF_IS_CLASS(Pokemod)
+ else IF_IS_CLASS(Rules)
+ else IF_IS_CLASS(Species)
+ else IF_IS_CLASS(SpeciesAbility)
+ else IF_IS_CLASS(SpeciesEvolution)
+ else IF_IS_CLASS(SpeciesItem)
+ else IF_IS_CLASS(SpeciesMove)
+ else IF_IS_CLASS(Store)
+ else IF_IS_CLASS(Tile)
+ else IF_IS_CLASS(Time)
+ else IF_IS_CLASS(Type)
#undef IF_IS_CLASS
- formPanel->setWidget(widget);
- connect(widget, SIGNAL(changed(bool)), selected, SLOT(updateName()));
- formPanel->show();
- }
- else
- treePokemod->setCurrentItem(cur);
+ formPanel->setWidget(widget);
+ connect(widget, SIGNAL(changed(bool)), static_cast<PokeModTreeItem*>(current), SLOT(updateName()));
+ formPanel->show();
}