summaryrefslogtreecommitdiffstats
path: root/pokemodr/PokeModrUI.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-03-05 07:20:51 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-03-05 07:20:51 +0000
commit9585d2a3ab18abb36a4094ff1db1821f66c8b3b8 (patch)
tree8b24255a2a2c5c3c4231f85f17aa43b150ad1a0c /pokemodr/PokeModrUI.cpp
parent57de1214e7ee4b7104717ceaf585929d09759c5f (diff)
downloadsigen-9585d2a3ab18abb36a4094ff1db1821f66c8b3b8.tar.gz
sigen-9585d2a3ab18abb36a4094ff1db1821f66c8b3b8.tar.xz
sigen-9585d2a3ab18abb36a4094ff1db1821f66c8b3b8.zip
[FIX] Menus and Toolbar fixed in the main window
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@91 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/PokeModrUI.cpp')
-rw-r--r--pokemodr/PokeModrUI.cpp86
1 files changed, 74 insertions, 12 deletions
diff --git a/pokemodr/PokeModrUI.cpp b/pokemodr/PokeModrUI.cpp
index 8720b245..95b6879e 100644
--- a/pokemodr/PokeModrUI.cpp
+++ b/pokemodr/PokeModrUI.cpp
@@ -20,16 +20,16 @@
// with this program. If not, see <http://www.gnu.org/licenses/>.
/////////////////////////////////////////////////////////////////////////////
-// Until QAction promotion is allowed in Qt Designer
#include <kaction.h>
-#include <kicon.h>
-
#include <kfiledialog.h>
+#include <kicon.h>
#include <klocalizedstring.h>
#include <kmenu.h>
#include <kmenubar.h>
#include <kmessagebox.h>
+#include <kstandardaction.h>
#include <kstandarddirs.h>
+#include <ktoolbar.h>
#include <kurl.h>
#include <QListIterator>
@@ -56,7 +56,65 @@ PokeModrUI::PokeModrUI(KConfigGroup cfg, KConfigGroup history, QWidget* parent)
setupUi(this);
QMetaObject::connectSlotsByName(this);
recent.loadEntries(history);
- menuBar()->addMenu(customHelpMenu(false));
+ KMenuBar* menubar = new KMenuBar(this);
+ KMenu* menuFile = new KMenu("&File", menubar);
+ menuFile->addAction(KStandardAction::openNew(this, SLOT(on_actionNew_triggered()), menuFile));
+ menuFile->addAction(KStandardAction::open(this, SLOT(on_actionOpen_triggered()), menuFile));
+ menuFile->addAction(KStandardAction::openRecent(this, SLOT(openPokeMod(const KUrl&)), menuFile));
+ menuFile->addSeparator();
+ menuFile->addAction(KStandardAction::save(this, SLOT(on_actionSave_triggered()), menuFile));
+ menuFile->addAction(KStandardAction::saveAs(this, SLOT(on_actionSaveAs_triggered()), menuFile));
+ menuFile->addSeparator();
+ menuFile->addAction(KStandardAction::quit(this, SLOT(on_actionQuit_triggered()), 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(on_actionCut_triggered()));
+ 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(on_actionCopy_triggered()));
+ 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(on_actionPaste_triggered()));
+ menuEdit->addSeparator();
+ menuEdit->addAction(KStandardAction::preferences(this, SLOT(on_actionPreferences_triggered()), menuEdit));
+ menubar->addMenu(menuEdit);
+ menubar->addMenu(customHelpMenu(false));
+ setMenuBar(menubar);
+ KToolBar* toolbar = new KToolBar("toolbar", this, Qt::TopToolBarArea, false, true, true);
+ toolbar->addAction(KStandardAction::openNew(this, SLOT(on_actionNew_triggered()), toolbar));
+ toolbar->addAction(KStandardAction::open(this, SLOT(on_actionOpen_triggered()), toolbar));
+ toolbar->addAction(KStandardAction::openRecent(this, SLOT(openPokeMod(const KUrl&)), toolbar));
+ toolbar->addSeparator();
+ toolbar->addAction(KStandardAction::save(this, SLOT(on_actionSave_triggered()), toolbar));
+ toolbar->addAction(KStandardAction::saveAs(this, SLOT(on_actionSaveAs_triggered()), toolbar));
+ toolbar->addSeparator();
+ toolbar->addAction(KStandardAction::cut(toolbar));
+ 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(on_actionCut_triggered()));
+ KAction* toolbarCopy = new KAction(KIcon("edit-copy"), "Cop&y Object", toolbar);
+ toolbar->addAction(toolbarCopy);
+ connect(toolbarCopy, SIGNAL(triggered()), this, SLOT(on_actionCopy_triggered()));
+ KAction* toolbarPaste = new KAction(KIcon("edit-paste"), "Past&e Object", toolbar);
+ toolbar->addAction(toolbarPaste);
+ connect(toolbarPaste, SIGNAL(triggered()), this, SLOT(on_actionPaste_triggered()));
+ toolbar->addSeparator();
+ toolbar->addAction(KStandardAction::preferences(this, SLOT(on_actionPreferences_triggered()), toolbar));
+ toolbar->addSeparator();
+ toolbar->addAction(KStandardAction::quit(this, SLOT(on_actionQuit_triggered()), toolbar));
+ addToolBar(toolbar);
splitter->setSizes(QList<int>() << cfg.readEntry("treeWidth", 100) << cfg.readEntry("panelWidth", 100));
// if (cfg.readEntry("reloadOnStart", false))
// {
@@ -84,6 +142,8 @@ void PokeModrUI::openPokeMod(const KUrl& path)
if (path.isLocalFile())
{
pokemods.append(new Pokemod(path.path()));
+ recent.addUrl(path);
+ recent.saveEntries(config);
rebuildTree();
}
}
@@ -165,20 +225,22 @@ void PokeModrUI::on_actionSaveAs_triggered()
{
}
-void PokeModrUI::on_actionSaveAll_triggered()
-{
- if (formPanel->widget())
- static_cast<ObjectUI*>(formPanel->widget())->on_buttonApply_clicked();
- for (QListIterator<Pokemod*> i(pokemods); i.hasNext(); )
- i.next()->save();
-}
-
void PokeModrUI::on_actionQuit_triggered()
{
while (pokemods.size())
closePokeMod();
if (clipboard)
delete clipboard;
+ close();
+}
+
+void PokeModrUI::on_actionCut_triggered()
+{
+// if (!treePokemod->currentItem())
+// return;
+// if (clipboard)
+// delete clipboard;
+// clipboard = static_cast<PokeModTreeItem*>(treePokemod->currentItem())->cut();
}
void PokeModrUI::on_actionCopy_triggered()