diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp
index 26da968e1..9b87cee30 100644
--- a/src/settingsdialog.cpp
+++ b/src/settingsdialog.cpp
@@ -153,36 +153,53 @@ SettingsDialog::~SettingsDialog()
void
SettingsDialog::createIcons()
{
+ /// Not fun but QListWidget sucks. Do our max-width calculation manually
+ /// so the icons arre lined up.
+ // Resolvers is the longest string... in english. fml.
+
+ int maxlen = 0;
+ QFontMetrics fm( font() );
QListWidgetItem *accountsButton = new QListWidgetItem( ui->listWidget );
accountsButton->setIcon( QIcon( RESPATH "images/account-settings.png" ) );
accountsButton->setText( tr( "Accounts" ) );
accountsButton->setTextAlignment( Qt::AlignHCenter );
accountsButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
+ maxlen = fm.width( accountsButton->text() );
QListWidgetItem *musicButton = new QListWidgetItem( ui->listWidget );
musicButton->setIcon( QIcon( RESPATH "images/music-settings.png" ) );
musicButton->setText( tr( "Music" ) );
musicButton->setTextAlignment( Qt::AlignHCenter );
musicButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
+ maxlen = qMax( fm.width( musicButton->text() ), maxlen );
QListWidgetItem *lastfmButton = new QListWidgetItem( ui->listWidget );
lastfmButton->setIcon( QIcon( RESPATH "images/lastfm-settings.png" ) );
lastfmButton->setText( tr( "Last.fm" ) );
lastfmButton->setTextAlignment( Qt::AlignHCenter );
lastfmButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
+ maxlen = qMax( fm.width( lastfmButton->text() ), maxlen );
QListWidgetItem *resolversButton = new QListWidgetItem( ui->listWidget );
resolversButton->setIcon( QIcon( RESPATH "images/resolvers-settings.png" ) );
resolversButton->setText( tr( "Resolvers" ) );
resolversButton->setTextAlignment( Qt::AlignHCenter );
resolversButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
+ maxlen = qMax( fm.width( resolversButton->text() ), maxlen );
QListWidgetItem *advancedButton = new QListWidgetItem( ui->listWidget );
advancedButton->setIcon( QIcon( RESPATH "images/advanced-settings.png" ) );
advancedButton->setText( tr( "Advanced" ) );
advancedButton->setTextAlignment( Qt::AlignHCenter );
advancedButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
+ maxlen = qMax( fm.width( advancedButton->text() ), maxlen );
+ maxlen += 16; // padding
+ accountsButton->setSizeHint( QSize( maxlen, 60 ) );
+ musicButton->setSizeHint( QSize( maxlen, 60 ) );
+ lastfmButton->setSizeHint( QSize( maxlen, 60 ) );
+ resolversButton->setSizeHint( QSize( maxlen, 60 ) );
+ advancedButton->setSizeHint( QSize( maxlen, 60 ) );
connect( ui->listWidget, SIGNAL( currentItemChanged( QListWidgetItem* ,QListWidgetItem* ) ), this, SLOT( changePage( QListWidgetItem*, QListWidgetItem* ) ) );
}
diff --git a/src/stackedsettingsdialog.ui b/src/stackedsettingsdialog.ui
index 15db3cd58..1ecb9b4ee 100644
--- a/src/stackedsettingsdialog.ui
+++ b/src/stackedsettingsdialog.ui
@@ -6,7 +6,7 @@
0
0
- 561
+ 629
362
@@ -23,21 +23,45 @@
- 68
+ 16777215
16777215
+
+ Qt::NoFocus
+
+
+ QFrame::Panel
+
+
+ QFrame::Raised
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ true
+
- 64
- 64
+ 48
+ 48
QListView::Static
+
+ QListView::Adjust
+
+
+ QListView::Batched
+
- 4
+ 1
QListView::IconMode
@@ -334,16 +358,9 @@
- scriptList
- scriptList
-
- label
- layoutWidget_2
- verticalSpacer_4
- groupBox_3