1
#include "menusystem.h"
3
MenuSystem::MenuSystem()
7
QMenu *MenuSystem::getMenu(QString name)
9
return m_menus.value(name,0);
12
QAction *MenuSystem::getAction(QString name)
14
return m_actions.value(name,0);
17
MenuAction MenuSystem::operator [](QString name)
19
return qMakePair(m_menus.value(name,0),m_actions.value(name,0));
22
MenuSystem *MenuSystem::s_global = new MenuSystem;
24
void MenuSystem::createMenus()
27
m_actions["file"] = new QAction(tr("&File"),this);
28
m_actions["file"]->setMenu(m_menus["file"] = new QMenu(tr("&File")));
31
m_toolbars["toolFile"] << (m_actions["file.open"] = m_menus["file"]->addAction(QIcon::fromTheme("document-open",QIcon(":/images/std/open.png")),tr("&Open ...")));
32
m_actions["file.open"]->setShortcut(QKeySequence::Open);
34
//: Menu: File - New ...
35
m_toolbars["toolFile"] << (m_actions["file.new"] = m_menus["file"]->addAction(QIcon::fromTheme("document-new",QIcon(":/images/std/new.png")),tr("&New ...")));
36
m_actions["file.new"]->setShortcut(QKeySequence::New);
39
m_toolbars["toolFile"] << (m_actions["file.save"] = m_menus["file"]->addAction(QIcon::fromTheme("document-save",QIcon(":/images/std/save.png")),tr("&Save")));
40
m_actions["file.save"]->setShortcut(QKeySequence::Save);
42
//: Menu: File - Save as
43
m_actions["file.save_as"] = m_menus["file"]->addAction(QIcon::fromTheme("document-save-as",QIcon(":/images/std/saveas.png")),tr("S&ave As ..."));
44
m_actions["file.save_as"]->setShortcut(QKeySequence::SaveAs);
46
//: Menu: File - Close
47
m_actions["file.close"] = m_menus["file"]->addAction(QIcon::fromTheme("document-close",QIcon(":/images/std/close.png")),tr("&Close"));
48
m_actions["file.close"]->setShortcut(QKeySequence::Close);
50
//: Menu: File - Upload
51
m_actions["file.upload"] = m_menus["file"]->addAction(QIcon::fromTheme("document-send",QIcon(":/images/std/upload.png")),tr("&Upload"));
53
m_menus["file"]->addSeparator();
55
//: Menu: File - Sketches
56
m_menus["file.sketches"] = new QMenu(tr("S&ketches"));
57
m_actions["file.sketches"] = m_menus["file"]->addMenu(m_menus["file.sketches"]);
59
//: Menu: File - Examples
60
m_menus["file.examples"] = new QMenu(tr("&Examples"));
61
m_actions["file.examples"] = m_menus["file"]->addMenu(m_menus["file.examples"]);
63
m_menus["file"]->addSeparator();
66
m_actions["file.quit"] = m_menus["file"]->addAction(QIcon::fromTheme("application-exit",QIcon(":/images/std/quit.png")),tr("&Quit"));
67
m_actions["file.quit"]->setShortcut(QKeySequence::Quit);
71
m_actions["edit"] = new QAction(tr("&Edit"),this);
72
m_actions["edit"]->setMenu(m_menus["edit"] = new QMenu(tr("&Edit")));
75
m_toolbars["toolEdit"] << (m_actions["edit.cut"] = m_menus["edit"]->addAction(QIcon::fromTheme("edit-cut",QIcon(":/images/std/edit/cut.png")),tr("&Cut")));
76
m_actions["edit.cut"]->setShortcut(QKeySequence::Cut);
79
m_toolbars["toolEdit"] << (m_actions["edit.copy"] = m_menus["edit"]->addAction(QIcon::fromTheme("edit-copy",QIcon(":/images/std/edit/copy.png")),tr("C&opy")));
80
m_actions["edit.copy"]->setShortcut(QKeySequence::Copy);
82
//: Menu: Edit - Paste
83
m_toolbars["toolEdit"] << (m_actions["edit.paste"] = m_menus["edit"]->addAction(QIcon::fromTheme("edit-paste",QIcon(":/images/std/edit/paste.png")),tr("&Paste")));
84
m_actions["edit.paste"]->setShortcut(QKeySequence::Paste);
86
m_toolbars["toolEdit"] << (m_menus["edit"]->addSeparator());
89
m_toolbars["toolEdit"] << (m_actions["edit.find"] = m_menus["edit"]->addAction(QIcon::fromTheme("edit-find",QIcon(":/images/std/edit/find.png")),tr("&Find ...")));
90
m_actions["edit.find"]->setShortcut(QKeySequence::Find);
92
//: Menu: Edit - Replace
93
m_toolbars["toolEdit"] << (m_actions["edit.replace"] = m_menus["edit"]->addAction(QIcon::fromTheme("edit-find-replace",QIcon(":/images/std/edit/replace.png")),tr("&Replace ...")));
94
m_actions["edit.replace"]->setShortcut(QKeySequence::Replace);
98
m_actions["sketch"] = new QAction(tr("&Sketch"),this);
99
m_actions["sketch"]->setMenu(m_menus["sketch"] = new QMenu(tr("&Sketch")));
101
m_menus["sketch"]->addAction(m_actions["file.upload"]);
102
m_actions["sketch.upload"] = m_actions["file.upload"];
104
//: Menu: Sketch - Import library
105
m_actions["sketch.import"] = m_menus["sketch"]->addAction(QIcon(":/images/std/import.png"),tr("&Import library"));
109
m_actions["help"] = new QAction(tr("&Help"),this);
110
m_actions["help"]->setMenu(m_menus["help"] = new QMenu(tr("&Help")));
112
//: Menu: Help - About
113
m_actions["help.about"] = m_menus["help"]->addAction(QIcon(":/images/std/help/about.png"),tr("&About"));
115
//: Menu: Help - Contents
116
m_actions["help.contents"] = m_menus["help"]->addAction(QIcon(":/images/std/help/contents.png"),tr("&Contents"));
117
m_actions["help.contents"]->setShortcut(QKeySequence::HelpContents);
121
QList<QAction *> MenuSystem::getToolBar(QString name)
123
return m_toolbars.value(name);