summaryrefslogtreecommitdiff
path: root/libopie2/opiecore/device/odevice.cpp
Unidiff
Diffstat (limited to 'libopie2/opiecore/device/odevice.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp
index ee66d95..62a2e03 100644
--- a/libopie2/opiecore/device/odevice.cpp
+++ b/libopie2/opiecore/device/odevice.cpp
@@ -53,24 +53,47 @@ _;:, .> :=|. This program is free software; you can
53#include <signal.h> 53#include <signal.h>
54#include <sys/ioctl.h> 54#include <sys/ioctl.h>
55#include <sys/time.h> 55#include <sys/time.h>
56#include <unistd.h> 56#include <unistd.h>
57#ifndef QT_NO_SOUND 57#ifndef QT_NO_SOUND
58#include <linux/soundcard.h> 58#include <linux/soundcard.h>
59#endif 59#endif
60 60
61const char* PATH_PROC_CPUINFO = "/proc/cpuinfo"; 61const char* PATH_PROC_CPUINFO = "/proc/cpuinfo";
62 62
63using namespace Opie::Core; 63using namespace Opie::Core;
64 64
65struct default_button default_buttons [] = {
66 { Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
67 "devicebuttons/z_calendar",
68 "datebook", "nextView()",
69 "today", "raise()" },
70 { Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
71 "devicebuttons/z_contact",
72 "addressbook", "raise()",
73 "addressbook", "beamBusinessCard()" },
74 { Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"),
75 "devicebuttons/z_home",
76 "QPE/Launcher", "home()",
77 "buttonsettings", "raise()" },
78 { Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"),
79 "devicebuttons/z_menu",
80 "QPE/TaskBar", "toggleMenu()",
81 "QPE/TaskBar", "toggleStartMenu()" },
82 { Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"),
83 "devicebuttons/z_mail",
84 "opiemail", "raise()",
85 "opiemail", "newMail()" },
86};
87
65ODevice *ODevice::inst() 88ODevice *ODevice::inst()
66{ 89{
67 static ODevice *dev = 0; 90 static ODevice *dev = 0;
68 91
69 // rewrite this to only use /proc/cpuinfo or so 92 // rewrite this to only use /proc/cpuinfo or so
70 93
71 if ( !dev ) 94 if ( !dev )
72 { 95 {
73 QFile f( PATH_PROC_CPUINFO ); 96 QFile f( PATH_PROC_CPUINFO );
74 if ( f.open( IO_ReadOnly ) ) 97 if ( f.open( IO_ReadOnly ) )
75 { 98 {
76 QTextStream s( &f ); 99 QTextStream s( &f );
@@ -132,24 +155,34 @@ void ODevice::init()
132} 155}
133 156
134/** 157/**
135* This method initialises the button mapping 158* This method initialises the button mapping
136*/ 159*/
137void ODevice::initButtons() 160void ODevice::initButtons()
138{ 161{
139 if ( d->m_buttons ) 162 if ( d->m_buttons )
140 return; 163 return;
141 164
142 qDebug ( "init Buttons" ); 165 qDebug ( "init Buttons" );
143 d->m_buttons = new QValueList <ODeviceButton>; 166 d->m_buttons = new QValueList <ODeviceButton>;
167 for ( uint i = 0; i < ( sizeof( default_buttons ) / sizeof( default_button )); i++ ) {
168 default_button *db = default_buttons + i;
169 ODeviceButton b;
170 b. setKeycode ( db->code );
171 b. setUserText ( QObject::tr ( "Button", db->utext ));
172 b. setPixmap ( Resource::loadPixmap ( db->pix ));
173 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( db->fpressedservice ), db->fpressedaction ));
174 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( db->fheldservice ), db->fheldaction ));
175 d->m_buttons->append ( b );
176 }
144 177
145 reloadButtonMapping(); 178 reloadButtonMapping();
146 179
147 QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); 180 QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
148 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&))); 181 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&)));
149} 182}
150 183
151ODevice::~ODevice() 184ODevice::~ODevice()
152{ 185{
153// we leak m_devicebuttons and m_cpu_frequency 186// we leak m_devicebuttons and m_cpu_frequency
154// but it's a singleton and it is not so importantant 187// but it's a singleton and it is not so importantant
155// -zecke 188// -zecke