diff options
Diffstat (limited to 'pokemodr/PokeModrUI.cpp')
| -rw-r--r-- | pokemodr/PokeModrUI.cpp | 146 |
1 files changed, 72 insertions, 74 deletions
diff --git a/pokemodr/PokeModrUI.cpp b/pokemodr/PokeModrUI.cpp index 134f5d64..d98729ce 100644 --- a/pokemodr/PokeModrUI.cpp +++ b/pokemodr/PokeModrUI.cpp @@ -123,7 +123,6 @@ PokeModrUI::PokeModrUI(KConfigGroup config, KConfigGroup history, QWidget* paren // openPokeMod(recent.urls().at(i)); // } setAutoSaveSettings("MainWindow", true); - rebuildTree(); } PokeModrUI::~PokeModrUI() @@ -131,13 +130,6 @@ PokeModrUI::~PokeModrUI() on_actionQuit_triggered(); } -void PokeModrUI::rebuildTree() -{ - treePokemod->clear(); - foreach (Pokemod* pokemod, m_pokemods) - new PokeModTreeItem(treePokemod, pokemod); -} - void PokeModrUI::openPokeMod(const KUrl& path) { if (path.isLocalFile()) @@ -145,7 +137,6 @@ void PokeModrUI::openPokeMod(const KUrl& path) // m_pokemods.append(new Pokemod(path.path())); m_recent.addUrl(path); m_recent.saveEntries(m_config); - rebuildTree(); } } @@ -157,32 +148,32 @@ void PokeModrUI::savePokeMod() void PokeModrUI::closePokeMod() { - if (formPanel->widget()) - { - ObjectUI* o = static_cast<ObjectUI*>(formPanel->widget()); - const Pokemod* p = o->original()->pokemod(); - if (!o->close()) - return; - switch (KMessageBox::questionYesNoCancel(this, "You have unsaved changes, would you like to save them?", "Unsaved PokéMod")) - { - case KMessageBox::Yes: - on_actionSave_triggered(); - case KMessageBox::No: - break; - case KMessageBox::Cancel: - return; - } - for (QMutableListIterator<Pokemod*> i(m_pokemods); i.hasNext(); i.next()) - { - if (i.value() == p) - { - i.remove(); - break; - } - } - delete p; - rebuildTree(); - } + // TODO: Close the Pokemod with the current editor open +// if (formPanel->widget()) +// { +// ObjectUI* o = static_cast<ObjectUI*>(formPanel->widget()); +// const Pokemod* p = o->original()->pokemod(); +// if (!o->close()) +// return; +// switch (KMessageBox::questionYesNoCancel(this, "You have unsaved changes, would you like to save them?", "Unsaved PokéMod")) +// { +// case KMessageBox::Yes: +// on_actionSave_triggered(); +// case KMessageBox::No: +// break; +// case KMessageBox::Cancel: +// return; +// } +// for (QMutableListIterator<Pokemod*> i(m_pokemods); i.hasNext(); i.next()) +// { +// if (i.value() == p) +// { +// i.remove(); +// break; +// } +// } +// delete p; +// } } void PokeModrUI::closeEvent(QCloseEvent* event) @@ -215,16 +206,18 @@ void PokeModrUI::on_actionOpen_triggered() void PokeModrUI::on_actionSave_triggered() { - if (!treePokemod->currentItem()) - return; - static_cast<PokeModTreeItem*>(treePokemod->currentItem())->save(); - static_cast<Pokemod*>(static_cast<PokeModTreeItem*>(treePokemod->currentItem())->object())->pokemod()->save(); + // TODO: Save the current pokemod with the object open +// if (!treePokemod->currentItem()) +// return; +// static_cast<PokeModTreeItem*>(treePokemod->currentItem())->save(); +// static_cast<Pokemod*>(static_cast<PokeModTreeItem*>(treePokemod->currentItem())->object())->pokemod()->save(); } void PokeModrUI::on_actionSaveAs_triggered() { - if (!treePokemod->currentItem()) - return; + // TODO: Save the current pokemod to a new file +// if (!treePokemod->currentItem()) +// return; // QString dir = KFileDialog::existingDirectory(KUrl(KStandardDirs::locateLocal("data", "pokegen/pokemods", true)), this, QString::fromUtf8("Open PokéMod")); // if (dir != "") // { @@ -244,27 +237,30 @@ void PokeModrUI::on_actionQuit_triggered() void PokeModrUI::on_actionCut_triggered() { - if (!treePokemod->currentItem()) - return; - if (m_clipboard) - delete m_clipboard; - m_clipboard = static_cast<PokeModTreeItem*>(treePokemod->currentItem())->cut(); + // TODO: cut the item +// if (!treePokemod->currentItem()) +// return; +// if (m_clipboard) +// delete m_clipboard; +// m_clipboard = static_cast<PokeModTreeItem*>(treePokemod->currentItem())->cut(); } void PokeModrUI::on_actionCopy_triggered() { - if (!treePokemod->currentItem()) - return; - if (m_clipboard) - delete m_clipboard; - m_clipboard = static_cast<PokeModTreeItem*>(treePokemod->currentItem())->copy(); + // TODO: copy the item +// if (!treePokemod->currentItem()) +// return; +// if (m_clipboard) +// delete m_clipboard; +// m_clipboard = static_cast<PokeModTreeItem*>(treePokemod->currentItem())->copy(); } void PokeModrUI::on_actionPaste_triggered() { - if (!m_clipboard || !treePokemod->currentItem()) - return; - static_cast<PokeModTreeItem*>(treePokemod->currentItem())->paste(m_clipboard); + // TODO: paste the item +// if (!m_clipboard || !treePokemod->currentItem()) +// return; +// static_cast<PokeModTreeItem*>(treePokemod->currentItem())->paste(m_clipboard); } void PokeModrUI::on_actionPreferences_triggered() @@ -277,29 +273,31 @@ void PokeModrUI::on_splitter_splitterMoved() m_config.writeEntry("panelWidth", splitter->sizes()[1]); } -void PokeModrUI::on_treePokemod_currentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous) +void PokeModrUI::on_treePokemod_clicked(const QModelIndex& index) { - if (!static_cast<PokeModTreeItem*>(current)->getUi()) - { - if (previous) - treePokemod->setCurrentItem(previous); - current->setSelected(false); - return; - } - if (formPanel->widget()) - { - if (!static_cast<ObjectUI*>(formPanel->widget())->close()) - return; - } - formPanel->setWidget(static_cast<PokeModTreeItem*>(current)->getUi()); - formPanel->show(); + // TODO: update the panel with the new widget needed +// if (!static_cast<PokeModTreeItem*>(current)->getUi()) +// { +// if (previous) +// treePokemod->setCurrentItem(previous); +// current->setSelected(false); +// return; +// } +// if (formPanel->widget()) +// { +// if (!static_cast<ObjectUI*>(formPanel->widget())->close()) +// return; +// } +// formPanel->setWidget(static_cast<PokeModTreeItem*>(current)->getUi()); +// formPanel->show(); } void PokeModrUI::on_treePokemod_customContextMenuRequested(const QPoint& position) { - if (treePokemod->itemAt(position)) - static_cast<PokeModTreeItem*>(treePokemod->itemAt(position))->makeMenu(position); - else - { - } + // TODO: figure out which item was clicked +// if (treePokemod->itemAt(position)) +// static_cast<PokeModTreeItem*>(treePokemod->itemAt(position))->makeMenu(position); +// else +// { +// } } |
