summaryrefslogtreecommitdiff
authordrw <drw>2005-02-07 20:32:51 (UTC)
committer drw <drw>2005-02-07 20:32:51 (UTC)
commite56c7dfec502972fc7efcd9e0357c371d0e9cd15 (patch) (side-by-side diff)
tree7dec179671853b250afdfc6f55decda42d86fc2d
parentaeda5d05178f635c05ce4556e3a0b7f9be7d6401 (diff)
downloadopie-e56c7dfec502972fc7efcd9e0357c371d0e9cd15.zip
opie-e56c7dfec502972fc7efcd9e0357c371d0e9cd15.tar.gz
opie-e56c7dfec502972fc7efcd9e0357c371d0e9cd15.tar.bz2
Disable certain UI elements while editing personal details
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/addressbook.cpp44
1 files changed, 36 insertions, 8 deletions
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index a4c2c6e..7c52ef2 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -708,18 +708,34 @@ void AddressbookWindow::slotPersonalView()
bool personal = m_actionPersonal->isOn();
- // Disable certain menu items when showing personal details
+ // Disable actions when showing personal details
setItemNewEnabled( !personal );
setItemDuplicateEnabled( !personal );
setItemDeleteEnabled( !personal );
m_actionMail->setEnabled( !personal );
+ setShowCategories( !personal );
// Display appropriate view
m_abView->showPersonal( personal );
- // Set application caption
- personal ? setCaption( tr( "Contacts - My Personal Details") )
- : setCaption( tr( "Contacts") );
+ if ( personal )
+ {
+ setCaption( tr( "Contacts - My Personal Details") );
+
+ // Set category to 'All' to make sure personal details is visible
+ setViewCategory( "All" );
+ m_abView->setShowByCategory( "All" );
+
+ // Temporarily disable letter picker
+ pLabel->hide();
+ }
+ else
+ {
+ setCaption( tr( "Contacts") );
+
+ // Re-enable letter picker
+ pLabel->show();
+ }
}
void AddressbookWindow::reload()
@@ -738,10 +754,22 @@ void AddressbookWindow::flush()
void AddressbookWindow::closeEvent( QCloseEvent *e )
{
- if(active_view == AbView::CardView){
- slotViewSwitched( AbView::TableView );
- e->ignore();
- return;
+ if ( active_view == AbView::CardView )
+ {
+ if ( !m_actionPersonal->isOn() )
+ {
+ // Switch to table view only if not editing personal details
+ slotViewSwitched( AbView::TableView );
+ }
+ else
+ {
+ // If currently editing personal details, switch off personal view
+ m_actionPersonal->setOn( false );
+ slotPersonalView();
+ }
+
+ e->ignore();
+ return;
}
if(syncing) {
/* shouldn't we save, I hear you say? well its already been set