summaryrefslogtreecommitdiff
authoreilers <eilers>2003-03-24 07:44:33 (UTC)
committer eilers <eilers>2003-03-24 07:44:33 (UTC)
commit0e1275a67cae2435c0ac8cee2252f91737c2e10a (patch) (side-by-side diff)
tree0d65a291c21353a5e25932331b63e85050c6bff8
parent1b4836ba28ca57947d37699fc67cddd74fb29fbe (diff)
downloadopie-0e1275a67cae2435c0ac8cee2252f91737c2e10a.zip
opie-0e1275a67cae2435c0ac8cee2252f91737c2e10a.tar.gz
opie-0e1275a67cae2435c0ac8cee2252f91737c2e10a.tar.bz2
DetailView: If card is too big to show, use page up/down instead of
next/previous contact if cursor up/down is used ..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/TODO4
-rw-r--r--core/pim/addressbook/ablabel.cpp34
-rw-r--r--core/pim/addressbook/version.h2
3 files changed, 27 insertions, 13 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index 106747e..da9b9c2 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -1,116 +1,116 @@
Stuff todo until OPIE 1.0 :
===========================
Feature requests:
-----------------
- Dial by mobile phone by tapping the number..
(Maybe using gsmtool. And we may
add a library class for this)
- dial with dtmfdial in case it's installed and there's no mobile
- 3rd column for 2. Contact
- Implementing additional Views (Phonebook, ...)
- Birthday & Anniversary Reminder
- Beaming of multiple contacts (current list/ by search or by category)
- Configure the letter-picker: lastname/fullname search
- User center of the joypad to switch back from card to listview !
-- Cursor-UP/Down: Should additionally scroll cardview if it is too large
- (behaviour should be selectable by configuration)
Known Bugs:
-----------
Bugs but not in addressbook:
-----------------------------
- VCARD: If umlaut (äöüß) in address, the parser gets confused..
Urgent:
--------
- Category is on the wrong position after changing to personal and back to normal
( Temporarily workaround: Category is never deactivated.. :S )
Important:
----------
- "What's this" should be added (Deleyed after Feature Freeze)
Less important:
---------------
- Reload if contacts were changed externally
- The picker (alphabetical sort widget) should be
placed verticaly or horizontally (configurable)
- Find a smart solution for activating/deactivating the "send email" event
- If new contact is added (contacteditor closed): focus (table, card) to
this entry !
- After search (Started with Return): KeyFocus should be on Tabelle
ContactEditor:
- Redesign of Contacteditor
Should be Fixed (not absolute sure, need further validation):
-------------------------------------------------------------
Fixed/Ready:
-------
- Syncing: abtable not reloaded after sync.
- Find widget should be replaced by something like
qpdf has.
- Adding a configuration dialog
- Picker: Activated letter schould be more visible
- Advanced handling of cursor keys (search..)
- Mail-Icon is missing
- Use opie-mail insted of qt-mail if possible.
- Font menu is invisible using german translation
- Personal contact editor: Disable categories
- "Nonenglish" translation bug has to be fixed.
- contacteditor: Birthday, annyversary, ... : Use Dateselector
- The names of the countries are sorted by there english names, only..
Even if they are translated.. :S
- Cursor keys should work in detail-view (ablabel)
-> Ablabel should be removed and Abtable should be increased with
different views (as started by darwin zins)..
- Use advanced database functions in abtable to decrease
memory footprint and to make everything more easy !
(abtable should store Iterator for selected Category)
- Abtable: Configure Contact column (internally already available,
need configuration)
- Select of primary contact (see #274 on mantis)
- Category-select does not work completely: "Unfiled" is always in listview ..
- Return from Contacteditor: Category resettet to all
- Personal Details not working
- If category changed, the letterpicker should be resetted
- There should be some icons for List and Cardview
- If in Cardview and a category change removes all entries:
There are already entries in Cardview after up/down
- Personal Details: Anniversary zeigt Fantasie-Werte
- Unfiled shown just in Category "All" and "Unfiled".
- After finising search and after Edit: Clear Picker
- After Edit: Table position back to edited entry.
- Optimize Table Update...
- Change MyDialog to Config
- Store position and state of toolbar
- Searchwidget closed: Selected user is jumping
- Wenn suchen beendet, dann dauert das Tabellenupdate (was überhaupt überflüssig ist)
zu lange..
- VCARD: Import of Anniversary does not work correctly (currently disabled)
- Name order selected in "contacteditor" not used in list view.
- OK-Key does not switch from Detailview (ablable) to Listview
- Receiving of beams should open a dialog
- Fix start of opie-mail
- Implement Button Pics
- Add a dialog to accept and optionally edit received contacts by IRDA.
- Language not English (tested with german opie-translation):
1. Configure nicht übersetzt (alles leer).
2. Contacteditor nur teilweise übersetzt.
3. Kategorie-Picker geht nicht.
- Plugin for Today for Birthdays and Anniversaries
- Implement a picker/combo for the default email.
- Overview window cleanup needed..
- Store last settings of combo-boxes
- Personal and Business Web-page is not editable
- Default Email-button: A lot of problems:
If on second tab: The combo chooser is on the top left of the screen ! :(
- Default Email-Button: Sometimes not hiding the textfields completely
- Fix handling of 3 Firstnames
+- Cursor-UP/Down: Should additionally scroll cardview if it is too large
+ (behaviour should be selectable by configuration)
diff --git a/core/pim/addressbook/ablabel.cpp b/core/pim/addressbook/ablabel.cpp
index 80b57ae..6d8de91 100644
--- a/core/pim/addressbook/ablabel.cpp
+++ b/core/pim/addressbook/ablabel.cpp
@@ -1,130 +1,144 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qt Palmtop Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "ablabel.h"
#include <qpe/stringutil.h>
#include <qregexp.h>
#include <qstylesheet.h>
AbLabel::AbLabel( QWidget *parent, const char *name ):
QTextView( parent, name ),
m_empty( false )
{
}
AbLabel::~AbLabel()
{
}
void AbLabel::setContacts( const OContactAccess::List& viewList )
{
m_viewList = viewList;
if (m_viewList.count() != 0){
m_empty = false;
m_itCurContact = m_viewList.begin();
sync();
}else{
// m_itCurContact.clear();
m_empty = true;
setText( "" );
}
}
int AbLabel::currentEntry_UID()
{
OContact contact = currentEntry();
if ( contact.isEmpty() )
return 0;
else
return ( contact.uid() );
}
OContact AbLabel::currentEntry()
{
if ( ! m_empty )
return ( *m_itCurContact );
else
return OContact();
}
bool AbLabel::selectContact( int UID )
{
for ( m_itCurContact = m_viewList.begin(); m_itCurContact != m_viewList.end(); ++m_itCurContact){
if ( (*m_itCurContact).uid() == UID )
break;
}
sync();
return true;
}
void AbLabel::sync()
{
QString text = (*m_itCurContact).toRichText();
setText( text );
}
void AbLabel::keyPressEvent( QKeyEvent *e )
{
+
// Commonly handled keys
if ( !m_empty ){
switch( e->key() ) {
case Qt::Key_Left:
qWarning( "Left..");
case Qt::Key_Right:
qWarning( "Right..");
case Qt::Key_F33:
qWarning( "OK..");
emit signalOkPressed();
break;
case Qt::Key_Up:
qWarning( "UP..");
- --m_itCurContact;
- if ( *m_itCurContact != OContact() )
- sync();
- else
- m_itCurContact = m_viewList.end();
+ if ( ( visibleHeight() < contentsHeight() ) &&
+ ( verticalScrollBar()->value() > verticalScrollBar()->minValue() ) )
+ scrollBy( 0, -(visibleHeight()-20) );
+ else {
+ --m_itCurContact;
+ if ( *m_itCurContact != OContact() )
+ sync();
+ else
+ m_itCurContact = m_viewList.end();
+ }
break;
case Qt::Key_Down:
qWarning( "DOWN..");
- ++m_itCurContact;
- if ( *m_itCurContact != OContact() )
- sync();
- else
- m_itCurContact = m_viewList.begin();
+// qWarning( "visible: %d, content: %d",visibleHeight(),contentsHeight());
+// qWarning( "value: %d; barMaxValue: %d", verticalScrollBar()->value()
+// , verticalScrollBar()->maxValue() );
+ if ( ( visibleHeight() < contentsHeight() ) &&
+ ( verticalScrollBar()->value() < verticalScrollBar()->maxValue() ) )
+ scrollBy( 0, visibleHeight()-20 );
+ else {
+ ++m_itCurContact;
+ if ( *m_itCurContact != OContact() )
+ sync();
+ else
+ m_itCurContact = m_viewList.begin();
+ }
break;
case Qt::Key_Return: // fall through
case Qt::Key_Space: // fall through
case Qt::Key_Enter: // we want to switch back
emit signalOkPressed();
break;
default: break;
}
}
}
diff --git a/core/pim/addressbook/version.h b/core/pim/addressbook/version.h
index 0f12bd7..999ce67 100644
--- a/core/pim/addressbook/version.h
+++ b/core/pim/addressbook/version.h
@@ -1,10 +1,10 @@
#ifndef _VERSION_H_
#define _VERSION_H_
#define MAINVERSION "0"
#define SUBVERSION "9"
-#define PATCHVERSION "1"
+#define PATCHVERSION "2"
#define APPNAME "OPIE_ADDRESSBOOK"
#endif