summaryrefslogtreecommitdiffabout
path: root/kaddressbook/jumpbuttonbar.cpp
authorzautrix <zautrix>2005-01-29 09:01:25 (UTC)
committer zautrix <zautrix>2005-01-29 09:01:25 (UTC)
commitb868f87e4ada5e16b8e2acfc5f5892a6c3f0f6a9 (patch) (side-by-side diff)
tree4d2e682eeb964fc65c605fdc0a08b2c37741d686 /kaddressbook/jumpbuttonbar.cpp
parentef1d97a243957180f5ffc3c3b055ffd8bf52e157 (diff)
downloadkdepimpi-b868f87e4ada5e16b8e2acfc5f5892a6c3f0f6a9.zip
kdepimpi-b868f87e4ada5e16b8e2acfc5f5892a6c3f0f6a9.tar.gz
kdepimpi-b868f87e4ada5e16b8e2acfc5f5892a6c3f0f6a9.tar.bz2
jumpbar fixes
Diffstat (limited to 'kaddressbook/jumpbuttonbar.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/jumpbuttonbar.cpp47
1 files changed, 31 insertions, 16 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp
index e89ec52..32922a6 100644
--- a/kaddressbook/jumpbuttonbar.cpp
+++ b/kaddressbook/jumpbuttonbar.cpp
@@ -70,15 +70,15 @@ QString JumpButton::character() const
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 );
+ mButtonLayout = new QGridLayout( this, 1, 18 );
else
- mButtonLayout = new QGridLayout( this, 1, 28 );
+ mButtonLayout = new QGridLayout( this, 1, 20 );
mButtonLayout->setAlignment( Qt::AlignTop );
recreateButtons();
}
JumpButtonBar::~JumpButtonBar()
@@ -138,29 +138,42 @@ void JumpButtonBar::recreateButtons()
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;
- int roW = 15;//13 is ok
- if ( QApplication::desktop()->width() < 480 && mCharacters.count() > roW ) {
- skipcount = mCharacters.count()-roW ;
- maxHei = (QApplication::desktop()->height()-65)/roW ;
- }
- else {
- fixwid = 30;
- if ( mCharacters.count() > 16 )
- skipcount = mCharacters.count()- 16;
- maxHei = (QApplication::desktop()->height()-120)/(16);
+ int maxHei = 0;
+#ifdef DESKTOP_VERSION
+ int maxChar = 26;
+ int heightDiff = 200;
+ int fixwid = 0;
+#else
+ //default for 240x320 diaplay:
+ int maxChar = 16;
+ int heightDiff = 64;
+ int fixwid = 20;
+ if ( QApplication::desktop()->height() == 480 ) {
+ maxChar = 16;
+ heightDiff = 135;
+ fixwid = 34;
+ } else if ( QApplication::desktop()->height() >= 640 ) {
+ maxChar = 20;
+ heightDiff = 135;
+ fixwid = 34;
}
+#endif
+
+ if ( mCharacters.count() > maxChar )
+ skipcount = mCharacters.count()- maxChar;
+ maxHei = (QApplication::desktop()->height()-heightDiff)/(maxChar);
+
+
maxRows = 28;
bool skipcurrent = false;
bool state = isUpdatesEnabled();
setUpdatesEnabled( false );
//qDebug("cc %d ",mCharacters.count() );
JumpButton *button = 0;
@@ -176,18 +189,20 @@ void JumpButtonBar::recreateButtons()
if ( cur ) {
button = cur ;
cur = mButtons.next();
button->setCharacter(mCharacters[ i ]);
} else {
button = new JumpButton( mCharacters[ i ].upper(), this, mCharacters[ i ] );
- button->setFixedWidth( fixwid );
+ if ( fixwid )
+ button->setFixedWidth( fixwid );
mButtons.append( button );
connect( button, SIGNAL( clicked() ), this, SLOT( letterClicked() ) );
mButtonLayout->addWidget( button, row, col );
}
- button->setMaximumHeight( maxHei );
+ if ( maxHei )
+ button->setMaximumHeight( maxHei );
button->show();
if ( col == maxRows ) {
row = 0;
col++;
} else