-rw-r--r-- | core/applets/rotateapplet/rotate.cpp | 43 | ||||
-rw-r--r-- | core/applets/rotateapplet/rotate.h | 1 | ||||
-rw-r--r-- | libopie/odevice.cpp | 124 | ||||
-rw-r--r-- | libopie/odevice.h | 4 | ||||
-rw-r--r-- | qt/qt-2.3.7.patch/qte237-all.patch | 11 |
5 files changed, 163 insertions, 20 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp index ac6b259..0da2f0c 100644 --- a/core/applets/rotateapplet/rotate.cpp +++ b/core/applets/rotateapplet/rotate.cpp | |||
@@ -53,33 +53,35 @@ RotateApplet::RotateApplet ( ) | |||
53 | #endif | 53 | #endif |
54 | 54 | ||
55 | } | 55 | } |
56 | 56 | ||
57 | RotateApplet::~RotateApplet ( ) | 57 | RotateApplet::~RotateApplet ( ) |
58 | { | 58 | { |
59 | } | 59 | } |
60 | 60 | ||
61 | 61 | ||
62 | /** | 62 | /** |
63 | * Qcop receive method. | 63 | * Qcop receive method. |
64 | */ | 64 | */ |
65 | void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) { | 65 | void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) { |
66 | QDataStream stream( data, IO_ReadOnly ); | 66 | QDataStream stream( data, IO_ReadOnly ); |
67 | if ( msg == "flip()" ) { | 67 | if ( msg == "flip()" ) { |
68 | activated ( ); | 68 | activated ( ); |
69 | } | 69 | } else if ( msg == "rotateDefault()") { |
70 | rotateDefault(); | ||
71 | } | ||
70 | } | 72 | } |
71 | 73 | ||
72 | 74 | ||
73 | int RotateApplet::position ( ) const | 75 | int RotateApplet::position ( ) const |
74 | { | 76 | { |
75 | return 3; | 77 | return 3; |
76 | } | 78 | } |
77 | 79 | ||
78 | QString RotateApplet::name ( ) const | 80 | QString RotateApplet::name ( ) const |
79 | { | 81 | { |
80 | return tr( "Rotate shortcut" ); | 82 | return tr( "Rotate shortcut" ); |
81 | } | 83 | } |
82 | 84 | ||
83 | QString RotateApplet::text ( ) const | 85 | QString RotateApplet::text ( ) const |
84 | { | 86 | { |
85 | return tr( "Rotate" ); | 87 | return tr( "Rotate" ); |
@@ -98,32 +100,71 @@ QString RotateApplet::tr( const char* s, const char* p ) const | |||
98 | 100 | ||
99 | QIconSet RotateApplet::icon ( ) const | 101 | QIconSet RotateApplet::icon ( ) const |
100 | { | 102 | { |
101 | QPixmap pix; | 103 | QPixmap pix; |
102 | QImage img = Resource::loadImage ( "Rotation" ); | 104 | QImage img = Resource::loadImage ( "Rotation" ); |
103 | 105 | ||
104 | if ( !img. isNull ( )) | 106 | if ( !img. isNull ( )) |
105 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); | 107 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); |
106 | return pix; | 108 | return pix; |
107 | } | 109 | } |
108 | 110 | ||
109 | QPopupMenu *RotateApplet::popup ( QWidget * ) const | 111 | QPopupMenu *RotateApplet::popup ( QWidget * ) const |
110 | { | 112 | { |
111 | return 0; | 113 | return 0; |
112 | } | 114 | } |
113 | 115 | ||
116 | void RotateApplet::rotateDefault ( ) | ||
117 | { | ||
118 | |||
119 | int rot = ODevice::inst()->rotation(); | ||
120 | |||
121 | switch (rot) { | ||
122 | case Rot0: | ||
123 | rot=0; | ||
124 | break; | ||
125 | case Rot90: | ||
126 | rot=90; | ||
127 | break; | ||
128 | case Rot180: | ||
129 | rot=180; | ||
130 | break; | ||
131 | case Rot270: | ||
132 | rot=270; | ||
133 | break; | ||
134 | default: | ||
135 | rot=0; | ||
136 | break; | ||
137 | } | ||
138 | Config cfg( "qpe" ); | ||
139 | cfg.setGroup( "Appearance" ); | ||
140 | |||
141 | bool rotateDisabled = cfg.readBoolEntry( "rotateEnabled",false ); | ||
142 | |||
143 | if (rotateDisabled == true) | ||
144 | return; | ||
145 | |||
146 | // hide inputs methods before rotation | ||
147 | QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); | ||
148 | |||
149 | QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); | ||
150 | env << rot; | ||
151 | |||
152 | m_flipped = false; | ||
153 | |||
154 | } | ||
114 | void RotateApplet::activated ( ) | 155 | void RotateApplet::activated ( ) |
115 | { | 156 | { |
116 | 157 | ||
117 | int defaultRotation = QPEApplication::defaultRotation(); | 158 | int defaultRotation = QPEApplication::defaultRotation(); |
118 | int newRotation = defaultRotation; | 159 | int newRotation = defaultRotation; |
119 | 160 | ||
120 | Config cfg( "qpe" ); | 161 | Config cfg( "qpe" ); |
121 | cfg.setGroup( "Appearance" ); | 162 | cfg.setGroup( "Appearance" ); |
122 | 163 | ||
123 | int rotDirection = cfg.readNumEntry( "rotatedir" ); | 164 | int rotDirection = cfg.readNumEntry( "rotatedir" ); |
124 | ODirection rot = CW; | 165 | ODirection rot = CW; |
125 | 166 | ||
126 | if (rotDirection == -1) { | 167 | if (rotDirection == -1) { |
127 | rot = ODevice::inst ( )-> direction ( ); | 168 | rot = ODevice::inst ( )-> direction ( ); |
128 | } else { | 169 | } else { |
129 | rot = (ODirection)rotDirection; | 170 | rot = (ODirection)rotDirection; |
diff --git a/core/applets/rotateapplet/rotate.h b/core/applets/rotateapplet/rotate.h index de2a707..572b82a 100644 --- a/core/applets/rotateapplet/rotate.h +++ b/core/applets/rotateapplet/rotate.h | |||
@@ -45,27 +45,28 @@ public: | |||
45 | RotateApplet ( ); | 45 | RotateApplet ( ); |
46 | virtual ~RotateApplet ( ); | 46 | virtual ~RotateApplet ( ); |
47 | 47 | ||
48 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | 48 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); |
49 | Q_REFCOUNT | 49 | Q_REFCOUNT |
50 | 50 | ||
51 | virtual int position() const; | 51 | virtual int position() const; |
52 | 52 | ||
53 | virtual QString name ( ) const; | 53 | virtual QString name ( ) const; |
54 | virtual QIconSet icon ( ) const; | 54 | virtual QIconSet icon ( ) const; |
55 | virtual QString text ( ) const; | 55 | virtual QString text ( ) const; |
56 | /* virtual QString tr( const char* ) const; | 56 | /* virtual QString tr( const char* ) const; |
57 | virtual QString tr( const char*, const char* ) const; | 57 | virtual QString tr( const char*, const char* ) const; |
58 | */ | 58 | */ |
59 | virtual QPopupMenu *popup ( QWidget *parent ) const; | 59 | virtual QPopupMenu *popup ( QWidget *parent ) const; |
60 | virtual void activated ( ); | 60 | virtual void activated ( ); |
61 | virtual void rotateDefault ( ); | ||
61 | 62 | ||
62 | private slots: | 63 | private slots: |
63 | void channelReceived( const QCString &msg, const QByteArray & data ); | 64 | void channelReceived( const QCString &msg, const QByteArray & data ); |
64 | 65 | ||
65 | private: | 66 | private: |
66 | ulong ref; | 67 | ulong ref; |
67 | bool m_flipped; | 68 | bool m_flipped; |
68 | 69 | ||
69 | }; | 70 | }; |
70 | 71 | ||
71 | #endif | 72 | #endif |
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 9373ef9..5038cc9 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp | |||
@@ -128,32 +128,37 @@ protected: | |||
128 | public: | 128 | public: |
129 | virtual bool setSoftSuspend ( bool soft ); | 129 | virtual bool setSoftSuspend ( bool soft ); |
130 | 130 | ||
131 | virtual bool setDisplayBrightness ( int b ); | 131 | virtual bool setDisplayBrightness ( int b ); |
132 | virtual int displayBrightnessResolution ( ) const; | 132 | virtual int displayBrightnessResolution ( ) const; |
133 | 133 | ||
134 | virtual void alarmSound ( ); | 134 | virtual void alarmSound ( ); |
135 | virtual void keySound ( ); | 135 | virtual void keySound ( ); |
136 | virtual void touchSound ( ); | 136 | virtual void touchSound ( ); |
137 | 137 | ||
138 | virtual QValueList <OLed> ledList ( ) const; | 138 | virtual QValueList <OLed> ledList ( ) const; |
139 | virtual QValueList <OLedState> ledStateList ( OLed led ) const; | 139 | virtual QValueList <OLedState> ledStateList ( OLed led ) const; |
140 | virtual OLedState ledState ( OLed led ) const; | 140 | virtual OLedState ledState ( OLed led ) const; |
141 | virtual bool setLedState ( OLed led, OLedState st ); | 141 | virtual bool setLedState ( OLed led, OLedState st ); |
142 | 142 | ||
143 | static bool isZaurus(); | 143 | static bool isZaurus(); |
144 | |||
145 | // Does this break BC? | ||
146 | virtual bool suspend ( ); | ||
147 | virtual Transformation rotation ( ) const; | ||
148 | virtual ODirection direction ( ) const; | ||
144 | 149 | ||
145 | protected: | 150 | protected: |
146 | virtual void buzzer ( int snd ); | 151 | virtual void buzzer ( int snd ); |
147 | 152 | ||
148 | OLedState m_leds [1]; | 153 | OLedState m_leds [1]; |
149 | bool m_embedix; | 154 | bool m_embedix; |
150 | }; | 155 | }; |
151 | 156 | ||
152 | class SIMpad : public ODevice, public QWSServer::KeyboardFilter { | 157 | class SIMpad : public ODevice, public QWSServer::KeyboardFilter { |
153 | protected: | 158 | protected: |
154 | virtual void init ( ); | 159 | virtual void init ( ); |
155 | virtual void initButtons ( ); | 160 | virtual void initButtons ( ); |
156 | 161 | ||
157 | public: | 162 | public: |
158 | virtual bool setSoftSuspend ( bool soft ); | 163 | virtual bool setSoftSuspend ( bool soft ); |
159 | virtual bool suspend(); | 164 | virtual bool suspend(); |
@@ -276,36 +281,36 @@ struct z_button z_buttons_c700 [] = { | |||
276 | { Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"), | 281 | { Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"), |
277 | "devicebuttons/z_calendar", | 282 | "devicebuttons/z_calendar", |
278 | "datebook", "nextView()", | 283 | "datebook", "nextView()", |
279 | "today", "raise()" }, | 284 | "today", "raise()" }, |
280 | { Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"), | 285 | { Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"), |
281 | "devicebuttons/z_contact", | 286 | "devicebuttons/z_contact", |
282 | "addressbook", "raise()", | 287 | "addressbook", "raise()", |
283 | "addressbook", "beamBusinessCard()" }, | 288 | "addressbook", "beamBusinessCard()" }, |
284 | { Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"), | 289 | { Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"), |
285 | "devicebuttons/z_home", | 290 | "devicebuttons/z_home", |
286 | "QPE/Launcher", "home()", | 291 | "QPE/Launcher", "home()", |
287 | "buttonsettings", "raise()" }, | 292 | "buttonsettings", "raise()" }, |
288 | { Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"), | 293 | { Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"), |
289 | "devicebuttons/z_menu", | 294 | "devicebuttons/z_menu", |
290 | "QPE/TaskBar", "toggleMenu()", | 295 | "QPE/TaskBar", "toggleMenu()", |
291 | "QPE/TaskBar", "toggleStartMenu()" }, | 296 | "QPE/TaskBar", "toggleStartMenu()" }, |
292 | { Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Display Rotate"), | 297 | { Qt::Key_F14, QT_TRANSLATE_NOOP("Button", "Display Rotate"), |
293 | "", | 298 | "", |
294 | "QPE/Rotation", "flip()", | 299 | "QPE/Rotation", "rotateDefault()", |
295 | "QPE/Rotation", "flip()" }, | 300 | "QPE/Rotation", "rotateDefault()" }, |
296 | }; | 301 | }; |
297 | 302 | ||
298 | struct s_button { | 303 | struct s_button { |
299 | uint model; | 304 | uint model; |
300 | Qt::Key code; | 305 | Qt::Key code; |
301 | char *utext; | 306 | char *utext; |
302 | char *pix; | 307 | char *pix; |
303 | char *fpressedservice; | 308 | char *fpressedservice; |
304 | char *fpressedaction; | 309 | char *fpressedaction; |
305 | char *fheldservice; | 310 | char *fheldservice; |
306 | char *fheldaction; | 311 | char *fheldaction; |
307 | } simpad_buttons [] = { | 312 | } simpad_buttons [] = { |
308 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, | 313 | { Model_SIMpad_CL4 | Model_SIMpad_SL4 | Model_SIMpad_SLC | Model_SIMpad_TSinus, |
309 | Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Lower+Up"), | 314 | Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Lower+Up"), |
310 | "devicebuttons/simpad_lower_up", | 315 | "devicebuttons/simpad_lower_up", |
311 | "datebook", "nextView()", | 316 | "datebook", "nextView()", |
@@ -1619,46 +1624,34 @@ void Zaurus::init ( ) | |||
1619 | d-> m_model = Model_Zaurus_SLB600; | 1624 | d-> m_model = Model_Zaurus_SLB600; |
1620 | d-> m_modelstr = "Zaurus SL-B500 or SL-5600"; | 1625 | d-> m_modelstr = "Zaurus SL-B500 or SL-5600"; |
1621 | } else if ( model == "Sharp-Collie" || model == "Collie" ) { | 1626 | } else if ( model == "Sharp-Collie" || model == "Collie" ) { |
1622 | d-> m_model = Model_Zaurus_SL5500; | 1627 | d-> m_model = Model_Zaurus_SL5500; |
1623 | d-> m_modelstr = "Zaurus SL-5500 or SL-5000d"; | 1628 | d-> m_modelstr = "Zaurus SL-5500 or SL-5000d"; |
1624 | } else { | 1629 | } else { |
1625 | d-> m_model = Model_Zaurus_SL5500; | 1630 | d-> m_model = Model_Zaurus_SL5500; |
1626 | d-> m_modelstr = "Zaurus (Model unknown)"; | 1631 | d-> m_modelstr = "Zaurus (Model unknown)"; |
1627 | } | 1632 | } |
1628 | 1633 | ||
1629 | bool flipstate = false; | 1634 | bool flipstate = false; |
1630 | switch ( d-> m_model ) { | 1635 | switch ( d-> m_model ) { |
1631 | case Model_Zaurus_SLA300: | 1636 | case Model_Zaurus_SLA300: |
1632 | d-> m_rotation = Rot0; | 1637 | d-> m_rotation = Rot0; |
1633 | break; | 1638 | break; |
1634 | case Model_Zaurus_SLC7x0: | 1639 | case Model_Zaurus_SLC7x0: |
1635 | // Note: need to 1) set flipstate based on physical screen orientation | 1640 | d-> m_rotation = rotation(); |
1636 | // and 2) check to see if the user overrode the rotation direction | 1641 | d-> m_direction = direction(); |
1637 | // using appearance, and if so, remove that item from the Config to | ||
1638 | // ensure the rotate applet flips us back to the previous state. | ||
1639 | // treke said he has patches for detecting the phys. so where are they, treke? -mickeyl. | ||
1640 | if ( flipstate ) { | ||
1641 | // 480x640 | ||
1642 | d-> m_rotation = Rot0; | ||
1643 | d-> m_direction = CW; | ||
1644 | } else { | ||
1645 | // 640x480 | ||
1646 | d-> m_rotation = Rot270; | ||
1647 | d-> m_direction = CCW; | ||
1648 | } | ||
1649 | break; | 1642 | break; |
1650 | case Model_Zaurus_SLB600: | 1643 | case Model_Zaurus_SLB600: |
1651 | case Model_Zaurus_SL5500: | 1644 | case Model_Zaurus_SL5500: |
1652 | case Model_Zaurus_SL5000: | 1645 | case Model_Zaurus_SL5000: |
1653 | default: | 1646 | default: |
1654 | d-> m_rotation = Rot270; | 1647 | d-> m_rotation = Rot270; |
1655 | break; | 1648 | break; |
1656 | } | 1649 | } |
1657 | m_leds [0] = Led_Off; | 1650 | m_leds [0] = Led_Off; |
1658 | } | 1651 | } |
1659 | 1652 | ||
1660 | void Zaurus::initButtons ( ) | 1653 | void Zaurus::initButtons ( ) |
1661 | { | 1654 | { |
1662 | if ( d-> m_buttons ) | 1655 | if ( d-> m_buttons ) |
1663 | return; | 1656 | return; |
1664 | 1657 | ||
@@ -1733,32 +1726,34 @@ void Zaurus::initButtons ( ) | |||
1733 | //#define SHARP_PDA_ERRORSOUND 5 /* error occurred */ | 1726 | //#define SHARP_PDA_ERRORSOUND 5 /* error occurred */ |
1734 | //#define SHARP_PDA_CRITICALSOUND 6 /* critical error occurred */ | 1727 | //#define SHARP_PDA_CRITICALSOUND 6 /* critical error occurred */ |
1735 | //#define SHARP_PDA_SYSSTARTSOUND 7 /* system start */ | 1728 | //#define SHARP_PDA_SYSSTARTSOUND 7 /* system start */ |
1736 | //#define SHARP_PDA_SYSTEMENDSOUND 8 /* system shutdown */ | 1729 | //#define SHARP_PDA_SYSTEMENDSOUND 8 /* system shutdown */ |
1737 | //#define SHARP_PDA_APPSTART 9 /* application start */ | 1730 | //#define SHARP_PDA_APPSTART 9 /* application start */ |
1738 | //#define SHARP_PDA_APPQUIT 10 /* application ends */ | 1731 | //#define SHARP_PDA_APPQUIT 10 /* application ends */ |
1739 | 1732 | ||
1740 | //#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ | 1733 | //#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ |
1741 | //#define SHARP_BUZ_DAILY_ALARM 12 /* daily alarm */ | 1734 | //#define SHARP_BUZ_DAILY_ALARM 12 /* daily alarm */ |
1742 | //#define SHARP_BUZ_GOT_PHONE_CALL 13 /* phone call sound */ | 1735 | //#define SHARP_BUZ_GOT_PHONE_CALL 13 /* phone call sound */ |
1743 | //#define SHARP_BUZ_GOT_MAIL 14 /* mail sound */ | 1736 | //#define SHARP_BUZ_GOT_MAIL 14 /* mail sound */ |
1744 | // | 1737 | // |
1745 | 1738 | ||
1746 | #defineSHARP_LED_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) | 1739 | #defineSHARP_LED_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) |
1747 | #define SHARP_LED_SETSTATUS (SHARP_LED_IOCTL_START+1) | 1740 | #define SHARP_LED_SETSTATUS (SHARP_LED_IOCTL_START+1) |
1748 | 1741 | ||
1742 | #define SHARP_IOCTL_GET_ROTATION 0x413c | ||
1743 | |||
1749 | typedef struct sharp_led_status { | 1744 | typedef struct sharp_led_status { |
1750 | int which; /* select which LED status is wanted. */ | 1745 | int which; /* select which LED status is wanted. */ |
1751 | int status; /* set new led status if you call SHARP_LED_SETSTATUS */ | 1746 | int status; /* set new led status if you call SHARP_LED_SETSTATUS */ |
1752 | } sharp_led_status; | 1747 | } sharp_led_status; |
1753 | 1748 | ||
1754 | #define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */ | 1749 | #define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */ |
1755 | 1750 | ||
1756 | #define LED_MAIL_NO_UNREAD_MAIL 0 /* for SHARP_LED_MAIL_EXISTS */ | 1751 | #define LED_MAIL_NO_UNREAD_MAIL 0 /* for SHARP_LED_MAIL_EXISTS */ |
1757 | #define LED_MAIL_NEWMAIL_EXISTS 1 /* for SHARP_LED_MAIL_EXISTS */ | 1752 | #define LED_MAIL_NEWMAIL_EXISTS 1 /* for SHARP_LED_MAIL_EXISTS */ |
1758 | #define LED_MAIL_UNREAD_MAIL_EX 2 /* for SHARP_LED_MAIL_EXISTS */ | 1753 | #define LED_MAIL_UNREAD_MAIL_EX 2 /* for SHARP_LED_MAIL_EXISTS */ |
1759 | 1754 | ||
1760 | // #include <asm/sharp_apm.h> // including kernel headers is evil ... | 1755 | // #include <asm/sharp_apm.h> // including kernel headers is evil ... |
1761 | 1756 | ||
1762 | #define APM_IOCGEVTSRC OD_IOR( 'A', 203, int ) | 1757 | #define APM_IOCGEVTSRC OD_IOR( 'A', 203, int ) |
1763 | #define APM_IOCSEVTSRC OD_IORW( 'A', 204, int ) | 1758 | #define APM_IOCSEVTSRC OD_IORW( 'A', 204, int ) |
1764 | #define APM_EVT_POWER_BUTTON (1 << 0) | 1759 | #define APM_EVT_POWER_BUTTON (1 << 0) |
@@ -1966,32 +1961,127 @@ bool Zaurus::setDisplayBrightness ( int bright ) | |||
1966 | int bl = ( bright * 4 + 127 ) / 255; // only 4 steps on zaurus | 1961 | int bl = ( bright * 4 + 127 ) / 255; // only 4 steps on zaurus |
1967 | if ( bright && !bl ) | 1962 | if ( bright && !bl ) |
1968 | bl = 1; | 1963 | bl = 1; |
1969 | res = ( ::ioctl ( fd, FL_IOCTL_STEP_CONTRAST, bl ) == 0 ); | 1964 | res = ( ::ioctl ( fd, FL_IOCTL_STEP_CONTRAST, bl ) == 0 ); |
1970 | ::close ( fd ); | 1965 | ::close ( fd ); |
1971 | } | 1966 | } |
1972 | } else { | 1967 | } else { |
1973 | #define FB_BACKLIGHT_SET_BRIGHTNESS _IOW('F', 1, u_int) /* set brightness */ | 1968 | #define FB_BACKLIGHT_SET_BRIGHTNESS _IOW('F', 1, u_int) /* set brightness */ |
1974 | if (( fd = ::open ( "/dev/fb0", O_WRONLY )) >= 0 ) { | 1969 | if (( fd = ::open ( "/dev/fb0", O_WRONLY )) >= 0 ) { |
1975 | res = ( ::ioctl ( fd , FB_BACKLIGHT_SET_BRIGHTNESS, bright ) == 0 ); | 1970 | res = ( ::ioctl ( fd , FB_BACKLIGHT_SET_BRIGHTNESS, bright ) == 0 ); |
1976 | ::close ( fd ); | 1971 | ::close ( fd ); |
1977 | } | 1972 | } |
1978 | } | 1973 | } |
1979 | return res; | 1974 | return res; |
1980 | } | 1975 | } |
1981 | 1976 | ||
1977 | bool Zaurus::suspend ( ) | ||
1978 | { | ||
1979 | qDebug("ODevice::suspend"); | ||
1980 | if ( !isQWS( ) ) // only qwsserver is allowed to suspend | ||
1981 | return false; | ||
1982 | |||
1983 | if ( d-> m_model == Model_Unknown ) // better don't suspend in qvfb / on unkown devices | ||
1984 | return false; | ||
1985 | |||
1986 | bool res = false; | ||
1987 | |||
1988 | struct timeval tvs, tvn; | ||
1989 | ::gettimeofday ( &tvs, 0 ); | ||
1990 | |||
1991 | ::sync ( ); // flush fs caches | ||
1992 | res = ( ::system ( "apm --suspend" ) == 0 ); | ||
1993 | |||
1994 | // This is needed because the iPAQ apm implementation is asynchronous and we | ||
1995 | // can not be sure when exactly the device is really suspended | ||
1996 | // This can be deleted as soon as a stable familiar with a synchronous apm implementation exists. | ||
1997 | |||
1998 | if ( res ) { | ||
1999 | do { // Yes, wait 15 seconds. This APM bug sucks big time. | ||
2000 | ::usleep ( 200 * 1000 ); | ||
2001 | ::gettimeofday ( &tvn, 0 ); | ||
2002 | } while ((( tvn. tv_sec - tvs. tv_sec ) * 1000 + ( tvn. tv_usec - tvs. tv_usec ) / 1000 ) < 15000 ); | ||
2003 | } | ||
2004 | |||
2005 | QCopEnvelope ( "QPE/Rotation", "rotateDefault()" ); | ||
2006 | return res; | ||
2007 | } | ||
2008 | |||
2009 | |||
2010 | Transformation Zaurus::rotation ( ) const | ||
2011 | { | ||
2012 | Transformation rot; | ||
2013 | int handle = 0; | ||
2014 | int retval = 0; | ||
2015 | |||
2016 | switch ( d-> m_model ) { | ||
2017 | case Model_Zaurus_SLC7x0: | ||
2018 | handle = ::open("/dev/apm_bios", O_RDWR|O_NONBLOCK); | ||
2019 | if (handle == -1) { | ||
2020 | return Rot270; | ||
2021 | } else { | ||
2022 | retval = ::ioctl(handle, SHARP_IOCTL_GET_ROTATION); | ||
2023 | ::close (handle); | ||
2024 | |||
2025 | if (retval == 2 ) | ||
2026 | rot = Rot0; | ||
2027 | else | ||
2028 | rot = Rot270; | ||
2029 | } | ||
2030 | break; | ||
2031 | case Model_Zaurus_SLA300: | ||
2032 | case Model_Zaurus_SLB600: | ||
2033 | case Model_Zaurus_SL5500: | ||
2034 | case Model_Zaurus_SL5000: | ||
2035 | default: | ||
2036 | rot = d-> m_rotation; | ||
2037 | break; | ||
2038 | } | ||
2039 | |||
2040 | return rot; | ||
2041 | } | ||
2042 | ODirection Zaurus::direction ( ) const | ||
2043 | { | ||
2044 | ODirection dir; | ||
2045 | int handle = 0; | ||
2046 | int retval = 0; | ||
2047 | switch ( d-> m_model ) { | ||
2048 | case Model_Zaurus_SLC7x0: | ||
2049 | handle = ::open("/dev/apm_bios", O_RDWR|O_NONBLOCK); | ||
2050 | if (handle == -1) { | ||
2051 | dir = Rot270; | ||
2052 | } else { | ||
2053 | retval = ::ioctl(handle, SHARP_IOCTL_GET_ROTATION); | ||
2054 | ::close (handle); | ||
2055 | if (retval == 2 ) | ||
2056 | dir = CCW; | ||
2057 | else | ||
2058 | dir = CW; | ||
2059 | } | ||
2060 | break; | ||
2061 | case Model_Zaurus_SLA300: | ||
2062 | case Model_Zaurus_SLB600: | ||
2063 | case Model_Zaurus_SL5500: | ||
2064 | case Model_Zaurus_SL5000: | ||
2065 | default: | ||
2066 | dir = d-> m_direction; | ||
2067 | break; | ||
2068 | } | ||
2069 | return dir; | ||
2070 | |||
2071 | } | ||
1982 | 2072 | ||
1983 | int Zaurus::displayBrightnessResolution ( ) const | 2073 | int Zaurus::displayBrightnessResolution ( ) const |
1984 | { | 2074 | { |
1985 | if (m_embedix) | 2075 | if (m_embedix) |
1986 | return 5; | 2076 | return 5; |
1987 | else | 2077 | else |
1988 | return 256; | 2078 | return 256; |
1989 | } | 2079 | } |
1990 | 2080 | ||
1991 | /************************************************** | 2081 | /************************************************** |
1992 | * | 2082 | * |
1993 | * SIMpad | 2083 | * SIMpad |
1994 | * | 2084 | * |
1995 | **************************************************/ | 2085 | **************************************************/ |
1996 | 2086 | ||
1997 | void SIMpad::init ( ) | 2087 | void SIMpad::init ( ) |
diff --git a/libopie/odevice.h b/libopie/odevice.h index 25910b5..8273761 100644 --- a/libopie/odevice.h +++ b/libopie/odevice.h | |||
@@ -174,34 +174,34 @@ public: | |||
174 | static ODevice *inst ( ); | 174 | static ODevice *inst ( ); |
175 | 175 | ||
176 | // information | 176 | // information |
177 | 177 | ||
178 | QString modelString ( ) const; | 178 | QString modelString ( ) const; |
179 | OModel model ( ) const; | 179 | OModel model ( ) const; |
180 | inline OModel series ( ) const { return (OModel) ( model ( ) & Model_Series_Mask ); } | 180 | inline OModel series ( ) const { return (OModel) ( model ( ) & Model_Series_Mask ); } |
181 | 181 | ||
182 | QString vendorString ( ) const; | 182 | QString vendorString ( ) const; |
183 | OVendor vendor ( ) const; | 183 | OVendor vendor ( ) const; |
184 | 184 | ||
185 | QString systemString ( ) const; | 185 | QString systemString ( ) const; |
186 | OSystem system ( ) const; | 186 | OSystem system ( ) const; |
187 | 187 | ||
188 | QString systemVersionString ( ) const; | 188 | QString systemVersionString ( ) const; |
189 | 189 | ||
190 | Transformation rotation ( ) const; | 190 | virtual Transformation rotation ( ) const; |
191 | ODirection direction ( ) const; | 191 | virtual ODirection direction ( ) const; |
192 | 192 | ||
193 | // system | 193 | // system |
194 | 194 | ||
195 | virtual bool setSoftSuspend ( bool on ); | 195 | virtual bool setSoftSuspend ( bool on ); |
196 | virtual bool suspend ( ); | 196 | virtual bool suspend ( ); |
197 | 197 | ||
198 | virtual bool setDisplayStatus ( bool on ); | 198 | virtual bool setDisplayStatus ( bool on ); |
199 | virtual bool setDisplayBrightness ( int brightness ); | 199 | virtual bool setDisplayBrightness ( int brightness ); |
200 | virtual int displayBrightnessResolution ( ) const; | 200 | virtual int displayBrightnessResolution ( ) const; |
201 | virtual bool setDisplayContrast ( int contrast ); | 201 | virtual bool setDisplayContrast ( int contrast ); |
202 | virtual int displayContrastResolution ( ) const; | 202 | virtual int displayContrastResolution ( ) const; |
203 | 203 | ||
204 | // don't add new virtual methods, use this: | 204 | // don't add new virtual methods, use this: |
205 | ///*virtual */ void boo(int i ) { return virtual_hook(1,&i); }; | 205 | ///*virtual */ void boo(int i ) { return virtual_hook(1,&i); }; |
206 | // and in your subclass do do overwrite | 206 | // and in your subclass do do overwrite |
207 | //protected virtual int virtual_hook(int, void *) | 207 | //protected virtual int virtual_hook(int, void *) |
diff --git a/qt/qt-2.3.7.patch/qte237-all.patch b/qt/qt-2.3.7.patch/qte237-all.patch index 233996a..e6cf0a4 100644 --- a/qt/qt-2.3.7.patch/qte237-all.patch +++ b/qt/qt-2.3.7.patch/qte237-all.patch | |||
@@ -395,16 +395,27 @@ diff -ru qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp qt-2.3.5/src/widgets/qtoolbu | |||
395 | w = pm.width(); | 395 | w = pm.width(); |
396 | h = pm.height(); | 396 | h = pm.height(); |
397 | -if ( w < 32 ) | 397 | -if ( w < 32 ) |
398 | - w = 32; | 398 | - w = 32; |
399 | -if ( h < 32 ) | 399 | -if ( h < 32 ) |
400 | - h = 32; | 400 | - h = 32; |
401 | +if ( w < 24 ) | 401 | +if ( w < 24 ) |
402 | + w = 24; | 402 | + w = 24; |
403 | +if ( h < 24 ) | 403 | +if ( h < 24 ) |
404 | + h = 24; | 404 | + h = 24; |
405 | } else { | 405 | } else { |
406 | -w = h = 16; | 406 | -w = h = 16; |
407 | +w = h = 14; | 407 | +w = h = 14; |
408 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | 408 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); |
409 | w = pm.width(); | 409 | w = pm.width(); |
410 | h = pm.height(); | 410 | h = pm.height(); |
411 | --- qt-2.3.7/src/kernel/qkeyboard_qws.cpp~c7xxrotate2003-07-16 18:20:25.000000000 -0700 | ||
412 | +++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp2003-12-07 15:54:10.000000000 -0800 | ||
413 | @@ -238,7 +238,7 @@ | ||
414 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63 | ||
415 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64 | ||
416 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65 | ||
417 | - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66 | ||
418 | + { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 | ||
419 | { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 | ||
420 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68 | ||
421 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69 | ||