summaryrefslogtreecommitdiffstats
path: root/pokemodr/PokeModrUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-05-26 01:32:07 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-05-26 01:32:07 +0000
commitff8c440c3a2aeb0e1abc6f93e9dd7775533382ff (patch)
tree302ac68425cecc61d429c64cf8676ad37d1d4f12 /pokemodr/PokeModrUI.cpp
parent7e3bf1853184f96eb5be47dd78ebe21fdc170a01 (diff)
downloadsigen-ff8c440c3a2aeb0e1abc6f93e9dd7775533382ff.tar.gz
sigen-ff8c440c3a2aeb0e1abc6f93e9dd7775533382ff.tar.xz
sigen-ff8c440c3a2aeb0e1abc6f93e9dd7775533382ff.zip
[FIX] Context menus added
[FIX] No more copy/cut/paste for objects; only available from context menus [FIX] Can now add objects during runtime git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@174 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/PokeModrUI.cpp')
-rw-r--r--pokemodr/PokeModrUI.cpp38
1 files changed, 7 insertions, 31 deletions
diff --git a/pokemodr/PokeModrUI.cpp b/pokemodr/PokeModrUI.cpp
index 7ea15841..7dff096d 100644
--- a/pokemodr/PokeModrUI.cpp
+++ b/pokemodr/PokeModrUI.cpp
@@ -64,26 +64,13 @@ PokeModrUI::PokeModrUI(KConfigGroup config, KConfigGroup history, QWidget* paren
menuFile->addAction(KStandardAction::save(this, SLOT(savePokemod()), menuFile));
menuFile->addAction(KStandardAction::saveAs(this, SLOT(saveAsPokemod()), menuFile));
menuFile->addSeparator();
- menuFile->addAction(KStandardAction::quit(this, SLOT(quit()), menuFile));
+ menuFile->addAction(KStandardAction::quit(this, SLOT(closeAllPokemods()), menuFile));
menubar->addMenu(menuFile);
KMenu* menuEdit = new KMenu("&Edit", menubar);
menuEdit->addAction(KStandardAction::cut(menuEdit));
menuEdit->addAction(KStandardAction::copy(menuEdit));
menuEdit->addAction(KStandardAction::paste(menuEdit));
menuEdit->addSeparator();
- KAction* menuCut = new KAction(KIcon("edit-cut"), "Cu&t Object", menuEdit);
- menuCut->setShortcut(KShortcut("Alt+X"));
- menuEdit->addAction(menuCut);
- connect(menuCut, SIGNAL(triggered()), this, SLOT(cutObject()));
- KAction* menuCopy = new KAction(KIcon("edit-copy"), "Cop&y Object", menuEdit);
- menuCopy->setShortcut(KShortcut("Alt+C"));
- menuEdit->addAction(menuCopy);
- connect(menuCopy, SIGNAL(triggered()), this, SLOT(copyObject()));
- KAction* menuPaste = new KAction(KIcon("edit-paste"), "Past&e Object", menuEdit);
- menuPaste->setShortcut(KShortcut("Alt+V"));
- menuEdit->addAction(menuPaste);
- connect(menuPaste, SIGNAL(triggered()), this, SLOT(pasteObject()));
- menuEdit->addSeparator();
menuEdit->addAction(KStandardAction::preferences(this, SLOT(preferences()), menuEdit));
menubar->addMenu(menuEdit);
menubar->addMenu(customHelpMenu(false));
@@ -101,19 +88,9 @@ PokeModrUI::PokeModrUI(KConfigGroup config, KConfigGroup history, QWidget* paren
toolbar->addAction(KStandardAction::copy(toolbar));
toolbar->addAction(KStandardAction::paste(toolbar));
toolbar->addSeparator();
- KAction* toolbarCut = new KAction(KIcon("edit-cut"), "Cu&t Object", toolbar);
- toolbar->addAction(toolbarCut);
- connect(toolbarCut, SIGNAL(triggered()), this, SLOT(cutObject()));
- KAction* toolbarCopy = new KAction(KIcon("edit-copy"), "Cop&y Object", toolbar);
- toolbar->addAction(toolbarCopy);
- connect(toolbarCopy, SIGNAL(triggered()), this, SLOT(copyObject()));
- KAction* toolbarPaste = new KAction(KIcon("edit-paste"), "Past&e Object", toolbar);
- toolbar->addAction(toolbarPaste);
- connect(toolbarPaste, SIGNAL(triggered()), this, SLOT(pasteObject()));
- toolbar->addSeparator();
toolbar->addAction(KStandardAction::preferences(this, SLOT(preferences()), toolbar));
toolbar->addSeparator();
- toolbar->addAction(KStandardAction::quit(this, SLOT(quit()), toolbar));
+ toolbar->addAction(KStandardAction::quit(this, SLOT(closeAllPokemods()), toolbar));
addToolBar(toolbar);
splitter->setSizes(QList<int>() << config.readEntry("treeWidth", 100) << config.readEntry("panelWidth", 100));
connect(buttonApply, SIGNAL(clicked()), this, SLOT(update()));
@@ -333,14 +310,11 @@ bool PokeModrUI::closeAllPokemods(const bool force)
else
++i;
}
+ if (!pokemods.size() || force)
+ close();
return !pokemods.size();
}
-void PokeModrUI::cutObject()
-{
- m_clipboard = treePokemod->cut(treePokemod->currentIndex());
-}
-
void PokeModrUI::copyObject()
{
m_clipboard = treePokemod->copy(treePokemod->currentIndex());
@@ -364,6 +338,8 @@ void PokeModrUI::on_splitter_splitterMoved()
void PokeModrUI::on_treePokemod_clicked(const QModelIndex& index)
{
+ if (!(treePokemod->model()->flags(index) & Qt::ItemIsSelectable))
+ return;
ObjectUI* widget = treePokemod->editorWidget(index);
if (widget)
{
@@ -396,5 +372,5 @@ void PokeModrUI::on_treePokemod_customContextMenuRequested(const QPoint& positio
{
KMenu* menu = treePokemod->contextMenu(treePokemod->indexAt(position));
if (menu)
- menu->popup(mapToGlobal(position));
+ menu->popup(treePokemod->mapToGlobal(position));
}