diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc46f3d83..501974c32 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -294,6 +294,7 @@ set(APP_SOURCES
   src/gui/comboboxwithstatus.cpp
   src/gui/basetoolbar.cpp
   src/gui/messagestoolbar.cpp
+  src/gui/feedstoolbar.cpp
   src/gui/toolbareditor.cpp
 
   # DYNAMIC-SHORTCUTS sources.
@@ -371,6 +372,7 @@ set(APP_HEADERS
   src/gui/comboboxwithstatus.h
   src/gui/basetoolbar.h
   src/gui/messagestoolbar.h
+  src/gui/feedstoolbar.h
   src/gui/toolbareditor.h
 
   # DYNAMIC-SHORTCUTS headers.
diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG
index 17eee38eb..dfdecdc0a 100644
--- a/resources/text/CHANGELOG
+++ b/resources/text/CHANGELOG
@@ -1,4 +1,21 @@
 <body>
+<center><h2>1.9.9.9</h2></center>
+
+Fixed:
+<ul>
+<li>Various GUI and bug fixes.</li>
+</ul>
+
+Added:
+<ul>
+<li>Added option to adjust icons/buttons displayed in toolbars. See Settings/User interface/Toolbars dialog for more information.</li>
+</ul>
+
+Changed:
+<ul>
+</ul>
+
+<hr/>
 <center><h2>1.9.9.8</h2></center>
 
 Fixed:
diff --git a/src/gui/feedmessageviewer.cpp b/src/gui/feedmessageviewer.cpp
index d10661b86..8d68bd4b2 100644
--- a/src/gui/feedmessageviewer.cpp
+++ b/src/gui/feedmessageviewer.cpp
@@ -32,6 +32,7 @@
 #include "gui/systemtrayicon.h"
 #include "gui/messagebox.h"
 #include "gui/messagestoolbar.h"
+#include "gui/feedstoolbar.h"
 
 #include <QVBoxLayout>
 #include <QSplitter>
@@ -52,7 +53,7 @@ FeedMessageViewer::FeedMessageViewer(QWidget *parent)
   : TabContent(parent),
     m_toolBarsEnabled(true),
     m_listHeadersEnabled(true),
-    m_toolBarFeeds(new QToolBar(tr("Toolbar for feeds"), this)),
+    m_toolBarFeeds(new FeedsToolBar(tr("Toolbar for feeds"), this)),
     m_toolBarMessages(new MessagesToolBar(tr("Toolbar for messages"), this)),
     m_messagesView(new MessagesView(this)),
     m_feedsView(new FeedsView(this)),
@@ -301,17 +302,11 @@ void FeedMessageViewer::initialize() {
   m_toolBarFeeds->setFloatable(false);
   m_toolBarFeeds->setMovable(false);
   m_toolBarFeeds->setAllowedAreas(Qt::TopToolBarArea);
-  m_toolBarFeeds->setToolButtonStyle(Qt::ToolButtonIconOnly);
-
-  // Add everything to toolbar.
-  m_toolBarFeeds->addAction(FormMain::instance()->m_ui->m_actionUpdateAllFeeds);
-  m_toolBarFeeds->addAction(FormMain::instance()->m_ui->m_actionMarkAllFeedsRead);
-  m_toolBarFeeds->addAction(FormMain::instance()->m_ui->m_actionClearAllFeeds);
+  m_toolBarFeeds->loadChangeableActions();
 
   m_toolBarMessages->setFloatable(false);
   m_toolBarMessages->setMovable(false);
   m_toolBarMessages->setAllowedAreas(Qt::TopToolBarArea);
-  m_toolBarMessages->setToolButtonStyle(Qt::ToolButtonIconOnly);
   m_toolBarMessages->loadChangeableActions();
 
   // Finish web/message browser setup.
diff --git a/src/gui/feedmessageviewer.h b/src/gui/feedmessageviewer.h
index 52fc45c8b..7f7371f07 100644
--- a/src/gui/feedmessageviewer.h
+++ b/src/gui/feedmessageviewer.h
@@ -26,6 +26,7 @@
 class WebBrowser;
 class MessagesView;
 class MessagesToolBar;
+class FeedsToolBar;
 class FeedsView;
 class FeedDownloader;
 class FeedsModelFeed;
@@ -55,6 +56,10 @@ class FeedMessageViewer : public TabContent {
       return m_toolBarMessages;
     }
 
+    inline FeedsToolBar *feedsToolBar() {
+      return m_toolBarFeeds;
+    }
+
     // Loads/saves sizes and states of ALL
     // underlying widgets, this contains primarily
     // splitters, toolbar and views.
@@ -110,7 +115,7 @@ class FeedMessageViewer : public TabContent {
   private:
     bool m_toolBarsEnabled;
     bool m_listHeadersEnabled;
-    QToolBar *m_toolBarFeeds;
+    FeedsToolBar *m_toolBarFeeds;
     MessagesToolBar *m_toolBarMessages;
 
     QSplitter *m_feedSplitter;
diff --git a/src/gui/feedstoolbar.cpp b/src/gui/feedstoolbar.cpp
new file mode 100644
index 000000000..bbc0bb3fd
--- /dev/null
+++ b/src/gui/feedstoolbar.cpp
@@ -0,0 +1,65 @@
+#include "gui/feedstoolbar.h"
+
+#include "gui/formmain.h"
+#include "miscellaneous/settings.h"
+
+
+FeedsToolBar::FeedsToolBar(const QString &title, QWidget *parent) : BaseToolBar(title, parent) {
+  // Update right margin of filter textbox.
+  QMargins margins = contentsMargins();
+  margins.setRight(margins.right() + FILTER_RIGHT_MARGIN);
+  setContentsMargins(margins);
+}
+
+FeedsToolBar::~FeedsToolBar() {
+}
+
+QHash<QString, QAction *> FeedsToolBar::availableActions() const {
+  return FormMain::instance()->allActions();;
+}
+
+QList<QAction *> FeedsToolBar::changeableActions() const {
+  return actions();
+}
+
+void FeedsToolBar::saveChangeableActions(const QStringList &actions) {
+  Settings::instance()->setValue(APP_CFG_GUI, "feeds_toolbar", actions.join(","));
+  loadChangeableActions(actions);
+}
+
+void FeedsToolBar::loadChangeableActions() {
+  QStringList action_names = Settings::instance()->value(APP_CFG_GUI,
+                                                         "feeds_toolbar",
+                                                         "m_actionUpdateAllFeeds,m_actionMarkAllFeedsRead").toString().split(',',
+                                                                                                                                                                                                              QString::SkipEmptyParts);
+
+  loadChangeableActions(action_names);
+}
+
+void FeedsToolBar::loadChangeableActions(const QStringList &actions) {
+  QHash<QString, QAction*> available_actions = availableActions();
+
+  clear();
+
+  // Iterate action names and add respectable actions into the toolbar.
+  foreach (const QString &action_name, actions) {
+    if (available_actions.contains(action_name)) {
+      // Add existing standard action.
+      addAction(available_actions.value(action_name));
+    }
+    else if (action_name == SEPARATOR_ACTION_NAME) {
+      // Add new separator.
+      addSeparator();
+    }
+    else if (action_name == SPACER_ACTION_NAME) {
+      // Add new spacer.
+      QWidget *spacer = new QWidget(this);
+      spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+
+      QAction *action = addWidget(spacer);
+      action->setIcon(IconFactory::instance()->fromTheme("application-search"));
+      action->setProperty("type", SPACER_ACTION_NAME);
+      action->setProperty("name", tr("Toolbar spacer"));
+    }
+  }
+}
diff --git a/src/gui/feedstoolbar.h b/src/gui/feedstoolbar.h
new file mode 100644
index 000000000..2198a9956
--- /dev/null
+++ b/src/gui/feedstoolbar.h
@@ -0,0 +1,24 @@
+#ifndef FEEDSTOOLBAR_H
+#define FEEDSTOOLBAR_H
+
+#include "gui/basetoolbar.h"
+
+
+class FeedsToolBar : public BaseToolBar {
+  public:
+    // Constructors and destructors.
+    explicit FeedsToolBar(const QString &title, QWidget *parent = 0);
+    virtual ~FeedsToolBar();
+
+    QHash<QString, QAction*> availableActions() const;
+    QList<QAction*> changeableActions() const;
+    void saveChangeableActions(const QStringList &actions);
+    void loadChangeableActions();
+
+    // Loads actions as specified by external actions list.
+    // NOTE: This is used primarily for reloading actions
+    // when they are changed from settings.
+    void loadChangeableActions(const QStringList &actions);
+};
+
+#endif // FEEDSTOOLBAR_H
diff --git a/src/gui/formsettings.cpp b/src/gui/formsettings.cpp
index 8b7f24c54..e7066df7c 100755
--- a/src/gui/formsettings.cpp
+++ b/src/gui/formsettings.cpp
@@ -33,6 +33,7 @@
 #include "gui/systemtrayicon.h"
 #include "gui/feedmessageviewer.h"
 #include "gui/feedsview.h"
+#include "gui/feedstoolbar.h"
 #include "gui/formmain.h"
 #include "gui/messagebox.h"
 #include "gui/basetoolbar.h"
@@ -135,6 +136,8 @@ FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::Form
           this, SLOT(onMysqlDataStorageEdited()));
   connect(m_ui->m_txtMysqlUsername->lineEdit(), SIGNAL(textEdited(QString)),
           this, SLOT(onMysqlDataStorageEdited()));
+  connect(m_ui->m_cmbSelectToolBar, SIGNAL(currentIndexChanged(int)),
+          m_ui->m_stackedToolbars, SLOT(setCurrentIndex(int)));
 
   // Load all settings.
   loadGeneral();
@@ -772,7 +775,8 @@ void FormSettings::loadInterface() {
                                                                                                                      Qt::ToolButtonIconOnly).toInt()));
 
   // Load toolbars.
-  m_ui->widget->loadFromToolBar(FormMain::instance()->tabWidget()->feedMessageViewer()->messagesToolBar());
+  m_ui->m_editorFeedsToolbar->loadFromToolBar(FormMain::instance()->tabWidget()->feedMessageViewer()->feedsToolBar());
+  m_ui->m_editorMessagesToolbar->loadFromToolBar(FormMain::instance()->tabWidget()->feedMessageViewer()->messagesToolBar());
 }
 
 void FormSettings::saveInterface() {
@@ -833,8 +837,8 @@ void FormSettings::saveInterface() {
   settings->setValue(APP_CFG_GUI, "hide_tabbar_one_tab",
                      m_ui->m_hideTabBarIfOneTabVisible->isChecked());
 
-
-  m_ui->widget->saveToolBar();
+  m_ui->m_editorFeedsToolbar->saveToolBar();
+  m_ui->m_editorMessagesToolbar->saveToolBar();
 
   FormMain::instance()->tabWidget()->checkTabBarVisibility();
   FormMain::instance()->tabWidget()->feedMessageViewer()->refreshVisualProperties();
diff --git a/src/gui/formsettings.ui b/src/gui/formsettings.ui
index d97d2e9e1..e98080d45 100644
--- a/src/gui/formsettings.ui
+++ b/src/gui/formsettings.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>808</width>
-    <height>410</height>
+    <width>820</width>
+    <height>427</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -364,8 +364,8 @@ Authors of this application are NOT responsible for lost data.</string>
                <rect>
                 <x>0</x>
                 <y>0</y>
-                <width>558</width>
-                <height>337</height>
+                <width>570</width>
+                <height>354</height>
                </rect>
               </property>
               <layout class="QFormLayout" name="formLayout">
@@ -378,6 +378,9 @@ Authors of this application are NOT responsible for lost data.</string>
                   <string>Icons</string>
                  </property>
                  <layout class="QFormLayout" name="formLayout_8">
+                  <property name="fieldGrowthPolicy">
+                   <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+                  </property>
                   <item row="0" column="0">
                    <widget class="QLabel" name="m_lblIconTheme">
                     <property name="text">
@@ -391,16 +394,6 @@ Authors of this application are NOT responsible for lost data.</string>
                   <item row="0" column="1">
                    <widget class="QComboBox" name="m_cmbIconTheme"/>
                   </item>
-                  <item row="1" column="1">
-                   <widget class="QComboBox" name="m_cmbToolbarButtonStyle"/>
-                  </item>
-                  <item row="1" column="0">
-                   <widget class="QLabel" name="label_7">
-                    <property name="text">
-                     <string>Toolbar button style</string>
-                    </property>
-                   </widget>
-                  </item>
                  </layout>
                 </widget>
                </item>
@@ -578,9 +571,91 @@ Authors of this application are NOT responsible for lost data.</string>
           <attribute name="title">
            <string>Toolbars</string>
           </attribute>
-          <layout class="QHBoxLayout" name="horizontalLayout_13">
-           <item>
-            <widget class="ToolBarEditor" name="widget" native="true"/>
+          <layout class="QFormLayout" name="formLayout_18">
+           <item row="0" column="1">
+            <widget class="QComboBox" name="m_cmbToolbarButtonStyle"/>
+           </item>
+           <item row="1" column="1">
+            <widget class="QComboBox" name="m_cmbSelectToolBar">
+             <property name="currentIndex">
+              <number>0</number>
+             </property>
+             <item>
+              <property name="text">
+               <string>Toolbar for feeds list</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>Toolbar for messages list</string>
+              </property>
+             </item>
+            </widget>
+           </item>
+           <item row="3" column="0" colspan="2">
+            <widget class="QStackedWidget" name="m_stackedToolbars">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+               <horstretch>0</horstretch>
+               <verstretch>1</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="currentIndex">
+              <number>0</number>
+             </property>
+             <widget class="QWidget" name="m_pageFeedsToolbar">
+              <layout class="QHBoxLayout" name="horizontalLayout_13">
+               <property name="leftMargin">
+                <number>0</number>
+               </property>
+               <property name="topMargin">
+                <number>0</number>
+               </property>
+               <property name="rightMargin">
+                <number>0</number>
+               </property>
+               <property name="bottomMargin">
+                <number>0</number>
+               </property>
+               <item>
+                <widget class="ToolBarEditor" name="m_editorFeedsToolbar" native="true"/>
+               </item>
+              </layout>
+             </widget>
+             <widget class="QWidget" name="m_pageMessagesToolbar">
+              <layout class="QHBoxLayout" name="horizontalLayout_14">
+               <property name="leftMargin">
+                <number>0</number>
+               </property>
+               <property name="topMargin">
+                <number>0</number>
+               </property>
+               <property name="rightMargin">
+                <number>0</number>
+               </property>
+               <property name="bottomMargin">
+                <number>0</number>
+               </property>
+               <item>
+                <widget class="ToolBarEditor" name="m_editorMessagesToolbar" native="true"/>
+               </item>
+              </layout>
+             </widget>
+            </widget>
+           </item>
+           <item row="0" column="0">
+            <widget class="QLabel" name="label_7">
+             <property name="text">
+              <string>Toolbar button style</string>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QLabel" name="label_10">
+             <property name="text">
+              <string>Select toolbar to edit</string>
+             </property>
+            </widget>
            </item>
           </layout>
          </widget>
diff --git a/src/gui/toolbareditor.cpp b/src/gui/toolbareditor.cpp
index 3bb0ddf3a..72b60d5a3 100644
--- a/src/gui/toolbareditor.cpp
+++ b/src/gui/toolbareditor.cpp
@@ -34,13 +34,16 @@ void ToolBarEditor::loadFromToolBar(BaseToolBar* tool_bar) {
       action_item->setData(Qt::UserRole, SEPARATOR_ACTION_NAME);
       action_item->setIcon(IconFactory::instance()->fromTheme("view-separator"));
       action_item->setText(tr("Separator"));
+      action_item->setToolTip(tr("Separator"));
     }
     else if (action->property("type").isValid()) {
       action_item->setData(Qt::UserRole, action->property("type").toString());
       action_item->setText(action->property("name").toString());
+      action_item->setToolTip(action_item->text());
     }
     else {
       action_item->setData(Qt::UserRole, action->objectName());
+      action_item->setToolTip(action->toolTip());
     }
   }
 
@@ -53,14 +56,17 @@ void ToolBarEditor::loadFromToolBar(BaseToolBar* tool_bar) {
       if (action->isSeparator()) {
         action_item->setData(Qt::UserRole, SEPARATOR_ACTION_NAME);
         action_item->setText(tr("Separator"));
+        action_item->setToolTip(tr("Separator"));
         action_item->setIcon(IconFactory::instance()->fromTheme("view-separator"));
       }
       else if (action->property("type").isValid()) {
         action_item->setData(Qt::UserRole, action->property("type").toString());
         action_item->setText(action->property("name").toString());
+        action_item->setToolTip(action_item->text());
       }
       else {
         action_item->setData(Qt::UserRole, action->objectName());
+        action_item->setToolTip(action->toolTip());
       }
     }
   }
@@ -98,6 +104,7 @@ void ToolBarEditor::insertSeparator() {
 
   QListWidgetItem *item = new QListWidgetItem(tr("Separator"));
   item->setData(Qt::UserRole, SEPARATOR_ACTION_NAME);
+  item->setToolTip(tr("Separator"));
   item->setIcon(IconFactory::instance()->fromTheme("view-separator"));
 
   if (current_row >= 0) {
diff --git a/src/gui/toolbareditor.h b/src/gui/toolbareditor.h
index 9d63d5c8e..0aba34e7c 100644
--- a/src/gui/toolbareditor.h
+++ b/src/gui/toolbareditor.h
@@ -26,6 +26,7 @@ class ToolBarEditor : public QWidget {
     void saveToolBar();
 
   private slots:
+    // Insert common controls.
     void insertSpacer();
     void insertSeparator();
 
diff --git a/src/gui/toolbareditor.ui b/src/gui/toolbareditor.ui
index 79a8a3990..83a2b52f7 100644
--- a/src/gui/toolbareditor.ui
+++ b/src/gui/toolbareditor.ui
@@ -26,13 +26,6 @@
    <property name="bottomMargin">
     <number>0</number>
    </property>
-   <item row="0" column="2">
-    <widget class="QLabel" name="label_2">
-     <property name="text">
-      <string>Available actions</string>
-     </property>
-    </widget>
-   </item>
    <item row="0" column="0">
     <widget class="QLabel" name="label">
      <property name="text">
@@ -40,8 +33,21 @@
      </property>
     </widget>
    </item>
-   <item row="1" column="0" rowspan="4">
+   <item row="0" column="2">
+    <widget class="QLabel" name="label_2">
+     <property name="text">
+      <string>Available actions</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="0">
     <widget class="QListWidget" name="m_listActivatedActions">
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAlwaysOff</enum>
+     </property>
+     <property name="editTriggers">
+      <set>QAbstractItemView::NoEditTriggers</set>
+     </property>
      <property name="showDropIndicator" stdset="0">
       <bool>true</bool>
      </property>
@@ -57,51 +63,91 @@
      <property name="defaultDropAction">
       <enum>Qt::MoveAction</enum>
      </property>
-    </widget>
-   </item>
-   <item row="1" column="2" rowspan="4">
-    <widget class="QListWidget" name="m_listAvailableActions">
-     <property name="showDropIndicator" stdset="0">
+     <property name="alternatingRowColors">
       <bool>true</bool>
      </property>
-     <property name="dragEnabled">
+     <property name="selectionBehavior">
+      <enum>QAbstractItemView::SelectRows</enum>
+     </property>
+     <property name="horizontalScrollMode">
+      <enum>QAbstractItemView::ScrollPerPixel</enum>
+     </property>
+     <property name="resizeMode">
+      <enum>QListView::Adjust</enum>
+     </property>
+     <property name="uniformItemSizes">
       <bool>true</bool>
      </property>
-     <property name="dragDropOverwriteMode">
-      <bool>false</bool>
-     </property>
-     <property name="dragDropMode">
-      <enum>QAbstractItemView::DragDrop</enum>
-     </property>
-     <property name="defaultDropAction">
-      <enum>Qt::MoveAction</enum>
-     </property>
     </widget>
    </item>
-   <item row="5" column="0" colspan="3">
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>40</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
    <item row="1" column="1">
-    <widget class="QPushButton" name="m_btnInsertSeparator">
-     <property name="text">
-      <string>Insert separator</string>
-     </property>
-    </widget>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QPushButton" name="m_btnInsertSeparator">
+       <property name="text">
+        <string>Insert separator</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="m_btnInsertSpacer">
+       <property name="text">
+        <string>Insert spacer</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
    </item>
-   <item row="2" column="1">
-    <widget class="QPushButton" name="m_btnInsertSpacer">
-     <property name="text">
-      <string>Insert spacer</string>
+   <item row="1" column="2">
+    <widget class="QListWidget" name="m_listAvailableActions">
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAlwaysOff</enum>
+     </property>
+     <property name="editTriggers">
+      <set>QAbstractItemView::NoEditTriggers</set>
+     </property>
+     <property name="showDropIndicator" stdset="0">
+      <bool>true</bool>
+     </property>
+     <property name="dragEnabled">
+      <bool>true</bool>
+     </property>
+     <property name="dragDropOverwriteMode">
+      <bool>false</bool>
+     </property>
+     <property name="dragDropMode">
+      <enum>QAbstractItemView::DragDrop</enum>
+     </property>
+     <property name="defaultDropAction">
+      <enum>Qt::MoveAction</enum>
+     </property>
+     <property name="alternatingRowColors">
+      <bool>true</bool>
+     </property>
+     <property name="selectionBehavior">
+      <enum>QAbstractItemView::SelectRows</enum>
+     </property>
+     <property name="horizontalScrollMode">
+      <enum>QAbstractItemView::ScrollPerPixel</enum>
+     </property>
+     <property name="resizeMode">
+      <enum>QListView::Adjust</enum>
+     </property>
+     <property name="uniformItemSizes">
+      <bool>true</bool>
      </property>
     </widget>
    </item>
diff --git a/src/network-web/webbrowser.cpp b/src/network-web/webbrowser.cpp
index b70f9c1f2..b46357ac0 100644
--- a/src/network-web/webbrowser.cpp
+++ b/src/network-web/webbrowser.cpp
@@ -162,6 +162,8 @@ void WebBrowser::onLoadingProgress(int progress) {
 }
 
 void WebBrowser::onLoadingFinished(bool success) {
+  Q_UNUSED(success)
+
   m_loadingProgress->hide();
 }