author | zautrix <zautrix> | 2005-01-19 14:35:53 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-01-19 14:35:53 (UTC) |
commit | a9f8ad6916ea1a849a43fe49c4085f6c44b5c47b (patch) (side-by-side diff) | |
tree | a649fbc1c07e2c199833da1a23cf326d68406d4b /kaddressbook | |
parent | 0d878a0144644499ead17b2532cc94abb545bcdb (diff) | |
download | kdepimpi-a9f8ad6916ea1a849a43fe49c4085f6c44b5c47b.zip kdepimpi-a9f8ad6916ea1a849a43fe49c4085f6c44b5c47b.tar.gz kdepimpi-a9f8ad6916ea1a849a43fe49c4085f6c44b5c47b.tar.bz2 |
dislog size fixes
-rw-r--r-- | kaddressbook/jumpbuttonbar.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp index ee5b44e..184d516 100644 --- a/kaddressbook/jumpbuttonbar.cpp +++ b/kaddressbook/jumpbuttonbar.cpp @@ -64,128 +64,129 @@ void JumpButton::setCharacter( const QString &character ) } QString JumpButton::character() const { return mCharacter; } JumpButtonBar::JumpButtonBar( KABCore *core, QWidget *parent, const char *name ) : QWidget( parent, name ), mCore( core ) { if ( QApplication::desktop()->width() < 480 ) mButtonLayout = new QGridLayout( this, 2, 14 ); else mButtonLayout = new QGridLayout( this, 1, 28 ); mButtonLayout->setAlignment( Qt::AlignTop ); recreateButtons(); } JumpButtonBar::~JumpButtonBar() { } QSizePolicy JumpButtonBar::sizePolicy() const { #ifndef KAB_EMBEDDED return QSizePolicy( QSizePolicy::Maximum, QSizePolicy::Minimum, QSizePolicy::Vertically ); #else //KAB_EMBEDDED return QSizePolicy( QSizePolicy::Maximum, QSizePolicy::Minimum); #endif //KAB_EMBEDDED } void JumpButtonBar::letterClicked() { JumpButton *button = (JumpButton*)sender(); QString character = button->character(); if ( !character.isNull() ) emit jumpToLetter( character ); } void JumpButtonBar::recreateButtons() { // the easiest way to remove all buttons ;) //mButtons.setAutoDelete( true ); //mButtons.clear(); //mButtons.setAutoDelete( false ); mCharacters.clear(); QString character; KABC::AddressBook *ab = mCore->addressBook(); KABC::AddressBook::Iterator it; KABC::Field *field = mCore->currentSearchField(); if ( field ) { setEnabled( true ); } else { setEnabled( false ); return; } for ( it = ab->begin(); it != ab->end(); ++it ) { if ( !field->value( *it ).isEmpty() ) character = field->value( *it )[ 0 ].lower(); + if ( character != "!" ) if ( !character.isEmpty() && !mCharacters.contains( character ) ) mCharacters.append( character ); } if ( mCharacters.count() == 0 ) { setEnabled( false ); return; } int maxRows = mCharacters.count() / 2; // we use 2 columns if ( mCharacters.count() % 2 ) maxRows++; int fixwid = 20; sortListLocaleAware( mCharacters ); bool skip2 = false; int skipcount = 0; int maxHei = 25; if ( QApplication::desktop()->width() < 480 && mCharacters.count() > 13) { skipcount = mCharacters.count()-13; maxHei = (QApplication::desktop()->height()-65)/13; } else { fixwid = 30; if ( mCharacters.count() > 20 ) skipcount = mCharacters.count()- 20; maxHei = (QApplication::desktop()->height()-120)/(mCharacters.count()-skipcount); } maxRows = 28; bool skipcurrent = false; bool state = isUpdatesEnabled(); setUpdatesEnabled( false ); //qDebug("cc %d ",mCharacters.count() ); JumpButton *button; int row = 0, col = 0; JumpButton* cur = mButtons.first(); for ( uint i = 0; i < mCharacters.count(); ++i ) { if ( skipcount > 0 && skipcurrent ) { --skipcount; } else { if ( cur ) { button = cur ; cur = mButtons.next(); button->setCharacter(mCharacters[ i ]); } else { button = new JumpButton( mCharacters[ i ].upper(), this, mCharacters[ i ] ); button->setFixedWidth( fixwid ); mButtons.append( button ); connect( button, SIGNAL( clicked() ), this, SLOT( letterClicked() ) ); mButtonLayout->addWidget( button, row, col ); } button->setMaximumHeight( maxHei ); button->show(); if ( col == maxRows ) { row = 0; col++; } else row++; } skipcurrent = !skipcurrent; } while ( cur ) { cur->hide(); |