-rw-r--r-- | libopie2/opiecore/device/odevice_htc.cpp | 3 | ||||
-rw-r--r-- | libopie2/opiepim/private/opimeventsortvector.cpp | 9 |
2 files changed, 4 insertions, 8 deletions
diff --git a/libopie2/opiecore/device/odevice_htc.cpp b/libopie2/opiecore/device/odevice_htc.cpp index c21e10d..4e5200b 100644 --- a/libopie2/opiecore/device/odevice_htc.cpp +++ b/libopie2/opiecore/device/odevice_htc.cpp @@ -375,106 +375,105 @@ int HTC::displayBrightnessResolution() const } return res; } bool HTC::setDisplayBrightness( int bright ) { //qDebug( "HTC::setDisplayBrightness( %d )", bright ); bool res = false; if ( bright > 255 ) bright = 255; if ( bright < 0 ) bright = 0; int numberOfSteps = displayBrightnessResolution(); int val = ( bright == 1 ) ? 1 : ( bright * numberOfSteps ) / 255; int fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK ); if ( fd ) { char buf[100]; int len = ::snprintf( &buf[0], sizeof buf, "%d", val ); res = ( ::write( fd, &buf[0], len ) == 0 ); ::close( fd ); } return res; } bool HTC::setDisplayStatus( bool on ) { bool res = false; int fd = ::open( m_backlightdev + "power", O_WRONLY|O_NONBLOCK ); if ( fd ) { char buf[10]; buf[0] = on ? FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN; buf[1] = '\0'; res = ( ::write( fd, &buf[0], 2 ) == 0 ); ::close( fd ); } return res; } Transformation HTC::rotation() const { qDebug( "HTC::rotation()" ); - Transformation rot; + Transformation rot = Rot270; switch ( d->m_model ) { case Model_HTC_Universal: { OHingeStatus hs = readHingeSensor(); qDebug( "HTC::rotation() - hinge sensor = %d", (int) hs ); if ( hs == CASE_PORTRAIT ) rot = Rot0; else if ( hs == CASE_UNKNOWN ) rot = Rot270; - else rot = Rot270; } break; } qDebug( "HTC::rotation() - returning '%d'", rot ); return rot; } ODirection HTC::direction() const { ODirection dir; switch ( d->m_model ) { case Model_HTC_Universal: { OHingeStatus hs = readHingeSensor(); if ( hs == CASE_PORTRAIT ) dir = CCW; else if ( hs == CASE_UNKNOWN ) dir = CCW; else dir = CW; } break; default: dir = d->m_direction; break; } return dir; } bool HTC::hasHingeSensor() const { return d->m_model == Model_HTC_Universal; } OHingeStatus HTC::readHingeSensor() const { /* * The HTC Universal keyboard is event source 1 in kernel 2.6. * Hinge status is reported via Input System Switchs 0 and 1 like that: * * ------------------------- * | SW0 | SW1 | CASE | * |-----|-----|-----------| * | 0 0 Unknown | * | 1 0 Portrait | * | 0 1 Closed | * | 1 1 Landscape | * ------------------------- */ OInputDevice* keyboard = OInputSystem::instance()->device( "event1" ); bool switch0 = true; diff --git a/libopie2/opiepim/private/opimeventsortvector.cpp b/libopie2/opiepim/private/opimeventsortvector.cpp index 4220c63..b85f848 100644 --- a/libopie2/opiepim/private/opimeventsortvector.cpp +++ b/libopie2/opiepim/private/opimeventsortvector.cpp @@ -1,124 +1,121 @@ /* This file is part of the Opie Project Copyright (C) 2004 Stefan Eilers <stefan@eilers-online.net> =. Copyright (C) The Opie Team <opie-devel@handhelds.org> .=l. .>+-= _;:, .> :=|. This program is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU Library General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. .%`+i> _;_. .i_,=:_. -<s. This program is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "opimeventsortvector.h" #include <opie2/ocontactaccess.h> #include <opie2/opimnotifymanager.h> #include <opie2/odatebookaccess.h> #include <qvaluelist.h> namespace Opie { namespace Internal { -namespace{ - -inline int testAlarmNotifiers( const OPimNotifyManager& leftnotifiers, const OPimNotifyManager& rightnotifiers ){ +int testAlarmNotifiers( const OPimNotifyManager& leftnotifiers, const OPimNotifyManager& rightnotifiers ){ OPimNotifyManager::Alarms left_alarms = leftnotifiers.alarms(); OPimNotifyManager::Alarms right_alarms = rightnotifiers.alarms(); // Well.. How could we compare two lists of alarms? I think we should find the most early datetimes // and compare them.. (se) // Find the first alarm of the left list OPimNotifyManager::Alarms::Iterator it; QDateTime left_earliest; // This datetime is initialized as invalid!! for ( it = left_alarms.begin(); it != left_alarms.end(); ++it ){ if ( !left_earliest.isValid() || left_earliest > (*it).dateTime() ){ left_earliest = (*it).dateTime(); } } QDateTime right_earliest; // This datetime is initialized as invalid!! for ( it = right_alarms.begin(); it != right_alarms.end(); ++it ){ if ( !right_earliest.isValid() || right_earliest > (*it).dateTime() ){ right_earliest = (*it).dateTime(); } } - int ret; + int ret = 0; // Now compare this found alarms if ( !left_earliest .isValid() ) ret++; if ( !right_earliest.isValid() ) ret--; if ( left_earliest.isValid() && right_earliest.isValid() ){ - ret += left_earliest < right_earliest ? -1 : 1; + left_earliest < right_earliest ? ret-- : ret++; } return ret; } -} OPimEventSortVector::OPimEventSortVector( uint size, bool asc, int sort ) : OPimSortVector<OPimEvent>( size, asc, sort ) {} int OPimEventSortVector::compareItems( const OPimEvent& left, const OPimEvent& right ) { if ( left.uid() == right.uid() ) return 0; int ret = 0; bool asc = sortAscending(); switch( sortOrder() ) { case ODateBookAccess::SortDescription: ret = testString( left.description(), right.description() ); break; case ODateBookAccess::SortLocation: ret = testString( left.location(), right.location() ); break; case ODateBookAccess::SortNote: ret = testString( left.note(),right.note() ); break; case ODateBookAccess::SortStartTime: ret = testTime( left.startDateTime().time(), right.startDateTime().time() ); break; case ODateBookAccess::SortEndTime: ret = testTime( left.endDateTime().time(), right.endDateTime().time() ); break; case ODateBookAccess::SortStartDate: ret = testDate( left.startDateTime().date(), right.startDateTime().date() ); break; case ODateBookAccess::SortEndDate: ret = testDate( left.endDateTime().date(), right.endDateTime().date() ); break; case ODateBookAccess::SortStartDateTime: ret = testDateTime( left.startDateTime(), right.startDateTime() ); break; case ODateBookAccess::SortEndDateTime: ret = testDateTime( left.endDateTime(), right.endDateTime() ); break; case ODateBookAccess::SortAlarmDateTime: ret = testAlarmNotifiers( left.notifiers(), right.notifiers() ); break; default: odebug << "OpimEventSortVector: Unknown sortOrder: " << sortOrder() << oendl; } /* twist to honor ascending/descending setting as QVector only sorts ascending */ |