-rw-r--r-- | kaddressbook/jumpbuttonbar.cpp | 43 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 6 |
2 files changed, 34 insertions, 15 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,17 +189,19 @@ void JumpButtonBar::recreateButtons() if ( cur ) { button = cur ; cur = mButtons.next(); button->setCharacter(mCharacters[ i ]); } else { button = new JumpButton( mCharacters[ i ].upper(), this, mCharacters[ i ] ); + if ( fixwid ) button->setFixedWidth( fixwid ); mButtons.append( button ); connect( button, SIGNAL( clicked() ), this, SLOT( letterClicked() ) ); mButtonLayout->addWidget( button, row, col ); } + if ( maxHei ) button->setMaximumHeight( maxHei ); button->show(); if ( col == maxRows ) { row = 0; col++; diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 0def16e..5987e99 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -13,13 +13,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - As a special exception, permission is given to link this program + Async a special exception, permission is given to link this program with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. */ /*s Enhanced Version of the file for platform independent KDE tools. @@ -2111,13 +2111,17 @@ void KABCore::addActionsManually() //US setup menubar. //Disable the following block if you do not want to have a menubar. mb->insertItem( i18n("&File"), fileMenu ); mb->insertItem( i18n("&Edit"), editMenu ); mb->insertItem( i18n("&View"), viewMenu ); mb->insertItem( i18n("&Settings"), settingsMenu ); +#ifdef DESKTOP_VERSION mb->insertItem( i18n("Synchronize"), syncMenu ); +#else + mb->insertItem( i18n("Sync"), syncMenu ); +#endif //mb->insertItem( i18n("&Change"), changeMenu ); mb->insertItem( i18n("&Help"), helpMenu ); mIncSearchWidget = new IncSearchWidget( tb ); // tb->insertWidget(-1, 0, mIncSearchWidget); #ifndef DESKTOP_VERSION } else { |