1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
/* This file is part of lomiri-action-api
* Copyright 2013 Canonical Ltd.
*
* lomiri-action-api is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3,
* as published by the Free Software Foundation.
*
* lomiri-action-api is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranties of
* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QMainWindow>
#include <QApplication>
#include <lomiri/action/Action>
#include <lomiri/action/ActionManager>
using lomiri::action::Action;
using lomiri::action::ActionManager;
class MailApp : public QMainWindow
{
Q_OBJECT
public:
MailApp(QWidget *parent = 0);
public slots:
void newMessage();
void openAddressBook();
private:
};
MailApp::MailApp(QWidget *parent)
: QMainWindow(parent)
{
//! [setting the compose name]
Action *newMessageAction = new Action(this);
// matches the .desktop file Desktop Action identifier
newMessageAction->setName("Compose");
//! [setting the compose name]
newMessageAction->setText(tr("Compose New Message"));
newMessageAction->setKeywords(tr("Write New Message;Send New Message"));
connect(newMessageAction, &Action::triggered, this, &MailApp::newMessage);
//! [setting the contacts name]
Action *openAddressBookAction = new Action(this);
// matches the .desktop file Desktop Action identifier
openAddressBookAction->setName("Contacts");
//! [setting the contacts name]
openAddressBookAction->setText(tr("Open Address Book"));
connect(openAddressBookAction, &Action::triggered, this, &MailApp::openAddressBook);
//! [add to manager]
ActionManager *actionManager = new ActionManager(this);
actionManager->addAction(newMessageAction);
actionManager->addAction(openAddressBookAction);
//! [add to manager]
}
void
MailApp::newMessage()
{
// show the compose view
}
void
MailApp::openAddressBook()
{
// show the address book view
}
int main(int argc, char *argv[])
{
QApplication *app = new QApplication(argc, argv);
MailApp mailApp;
mailApp.show();
return app->exec();
}
#include "mail-app.moc"
|