-rw-r--r-- | library/categoryedit_p.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/library/categoryedit_p.cpp b/library/categoryedit_p.cpp index 14ac2e1..ee0da22 100644 --- a/library/categoryedit_p.cpp +++ b/library/categoryedit_p.cpp @@ -96,70 +96,73 @@ void CategoryEdit::setCategories( const QArray<int> &recCats, } lvView->setSorting( 0, TRUE ); lvView->sort(); if ( lvView->childCount() < 1 ) txtCat->setEnabled( FALSE ); else { lvView->setSelected( lvView->firstChild(), true ); } } CategoryEdit::~CategoryEdit() { if ( d ) delete d; } void CategoryEdit::slotSetText( QListViewItem *selected ) { d->editItem = selected; if ( !d->editItem ) return; txtCat->setText( d->editItem->text(0) ); txtCat->setEnabled( true ); if ( d->editItem->text(1) == tr("All") ) chkGlobal->setChecked( true ); else chkGlobal->setChecked( false ); } void CategoryEdit::slotAdd() { QString name = tr( "New Category" ); - bool insertOk = FALSE; + int uid = 0; int num = 0; - while ( !insertOk ) { + while ( !uid ) { if ( num++ > 0 ) name = tr("New Category ") + QString::number(num); - insertOk = d->mCategories.addCategory( d->mStrApp, name ); + if ( chkGlobal->isChecked() ) + uid = d->mCategories.addGlobalCategory( name ); + else + uid = d->mCategories.addCategory( d->mStrApp, name ); } QCheckListItem *chk; chk = new QCheckListItem( lvView, name, QCheckListItem::CheckBox ); if ( !chkGlobal->isChecked() ) chk->setText( 1, tr(d->mVisible) ); else chk->setText( 1, tr("All") ); lvView->setSelected( chk, TRUE ); txtCat->selectAll(); txtCat->setFocus(); } void CategoryEdit::slotRemove() { d->editItem = lvView->selectedItem(); if ( d->editItem ) { QListViewItem *sibling = d->editItem->nextSibling(); d->mCategories.removeCategory( d->mStrApp, d->editItem->text(0) ); delete d->editItem; d->editItem = 0; if ( sibling ) lvView->setSelected( sibling, TRUE ); } if ( lvView->childCount() < 1 ) { txtCat->clear(); txtCat->setEnabled( FALSE ); } } |