Index: importicons.cpp
===================================================================
--- importicons.cpp	(revision 23858)
+++ importicons.cpp	(working copy)
@@ -75,6 +75,8 @@
     m_manualButton = dynamic_cast<MythUIButton *>(GetChild("search"));
     m_skipButton = dynamic_cast<MythUIButton *>(GetChild("skip"));
     m_statusText = dynamic_cast<MythUIText *>(GetChild("status"));
+    m_preview = dynamic_cast<MythUIImage *>(GetChild("preview"));
+    m_previewtitle = dynamic_cast<MythUIText *>(GetChild("previewtitle"));
 
     if (!m_iconsList || !m_manualEdit || !m_nameText || !m_manualButton ||
         !m_skipButton || !m_statusText)
@@ -96,6 +98,8 @@
     connect(m_skipButton, SIGNAL(Clicked()), SLOT(skip()));
     connect(m_iconsList, SIGNAL(itemClicked(MythUIButtonListItem *)),
             SLOT(menuSelection(MythUIButtonListItem *)));
+    connect(m_iconsList, SIGNAL(itemSelected(MythUIButtonListItem *)),
+            SLOT(itemChanged(MythUIButtonListItem *)));
             
     BuildFocusList();
 
@@ -238,6 +242,26 @@
 
 }
 
+void ImportIconsWizard::itemChanged(MythUIButtonListItem *item)
+{
+    if (!item)
+        return;
+
+    if (m_preview)
+    {
+        m_preview->Reset();
+        QString iconpath = item->GetImage("icon");
+        if (!iconpath.isEmpty())
+        {
+            m_preview->SetFilename(iconpath);
+            m_preview->Load();
+        }
+    }
+
+    if (m_previewtitle)
+        m_previewtitle->SetText(item->GetText("iconname"));
+}
+
 bool ImportIconsWizard::initialLoad(QString name)
 {
     QString dirpath = GetConfDir();
@@ -660,12 +684,16 @@
 
                 QString iconfile = entry.strLogo.section('/', -1);
                 iconfile = m_tmpDir.absoluteFilePath(iconfile);
+                QString iconname = entry.strName;
                 bool haveIcon = true;
                 if (!QFile(iconfile).exists())
                     haveIcon = HttpComms::getHttpFile(iconfile, entry.strLogo);
 
                 if (haveIcon)
+                {
                     item->SetImage(iconfile, "icon");
+                    item->SetText(iconname, "iconname");
+                }
                 prevIconName = entry.strName;
                 if (m_progressDialog)
                     m_progressDialog->SetProgress(x+1);
Index: importicons.h
===================================================================
--- importicons.h	(revision 23858)
+++ importicons.h	(working copy)
@@ -153,6 +153,9 @@
     void askSubmit(const QString& strParam);
     void Close();
 
+  private slots:
+    void itemChanged(MythUIButtonListItem *item);
+
   protected:
     void Init(void);
     
@@ -185,6 +188,9 @@
     MythUIButton     *m_skipButton;    //!< button skip
     MythUIText       *m_statusText;
 
+    MythUIImage      *m_preview;
+    MythUIText       *m_previewtitle;
+
 };
 
 Q_DECLARE_METATYPE(ImportIconsWizard::SearchEntry)
Index: channeleditor.cpp
===================================================================
--- channeleditor.cpp	(revision 23858)
+++ channeleditor.cpp	(working copy)
@@ -140,6 +140,13 @@
     MythUIButtonList *sortList = dynamic_cast<MythUIButtonList *>(GetChild("sorting"));
     m_sourceList = dynamic_cast<MythUIButtonList *>(GetChild("source"));
     m_channelList = dynamic_cast<MythUIButtonList *>(GetChild("channels"));
+    m_preview = dynamic_cast<MythUIImage *>(GetChild("preview"));
+    m_channame = dynamic_cast<MythUIText *>(GetChild("name"));
+    m_channum = dynamic_cast<MythUIText *>(GetChild("channum"));
+    m_callsign = dynamic_cast<MythUIText *>(GetChild("callsign"));
+    m_chanid = dynamic_cast<MythUIText *>(GetChild("chanid"));
+    m_sourcename = dynamic_cast<MythUIText *>(GetChild("sourcename"));
+    m_compoundname = dynamic_cast<MythUIText *>(GetChild("compoundname"));
 
     MythUIButton *deleteButton = dynamic_cast<MythUIButton *>(GetChild("delete"));
     MythUIButton *scanButton = dynamic_cast<MythUIButton *>(GetChild("scan"));
@@ -210,6 +217,8 @@
     // Other signals
     connect(m_channelList, SIGNAL(itemClicked(MythUIButtonListItem *)),
             SLOT(edit(MythUIButtonListItem *)));
+    connect(m_channelList, SIGNAL(itemSelected(MythUIButtonListItem *)),
+            SLOT(itemChanged(MythUIButtonListItem *)));
     connect(scanButton, SIGNAL(Clicked()), SLOT(scan()));
     connect(deleteButton,  SIGNAL(Clicked()), SLOT(deleteChannels()));
 
@@ -248,6 +257,41 @@
     return handled;
 }
 
+void ChannelEditor::itemChanged(MythUIButtonListItem *item)
+{
+    if (!item)
+        return;
+
+    if (m_preview)
+    {
+        m_preview->Reset();
+        QString iconpath = item->GetImage();
+        if (!iconpath.isEmpty())
+        {
+            m_preview->SetFilename(iconpath);
+            m_preview->Load();
+        }
+    }
+
+    if (m_channame)
+        m_channame->SetText(item->GetText("name"));
+
+    if (m_channum)
+        m_channum->SetText(item->GetText("channum"));
+
+    if (m_callsign)
+        m_callsign->SetText(item->GetText("callsign"));
+
+    if (m_chanid)
+        m_chanid->SetText(item->GetText("chanid"));
+
+    if (m_sourcename)
+        m_sourcename->SetText(item->GetText("sourcename"));
+
+    if (m_compoundname)
+        m_compoundname->SetText(item->GetText("compoundname"));
+}
+
 void ChannelEditor::fillList(void)
 {
     QString currentValue = m_channelList->GetValue();
Index: channeleditor.h
===================================================================
--- channeleditor.h	(revision 23858)
+++ channeleditor.h	(working copy)
@@ -33,6 +33,9 @@
     void setHideMode(bool hide);
     void fillList();
 
+  private slots:
+    void itemChanged(MythUIButtonListItem *item);
+
   private:
     enum sourceFilter {
         FILTER_ALL = -1,
@@ -46,6 +49,14 @@
 
     MythUIButtonList *m_channelList;
     MythUIButtonList *m_sourceList;
+
+    MythUIImage      *m_preview;
+    MythUIText       *m_channame;
+    MythUIText       *m_channum;
+    MythUIText       *m_callsign;
+    MythUIText       *m_chanid;
+    MythUIText       *m_sourcename;
+    MythUIText       *m_compoundname;
 };
 
 class ChannelID;
