Commit 3cd728de authored by Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez 🐧
Browse files

Remove the emoticons kcm

Most applications nowadays rely on unicode emoji. This kcm them becomes
more confusing than helpful, only catering to applications that use the
KEmoticons framework, which aren't many and can include the kcm in-app
if they desire as much.

Related:
https://phabricator.kde.org/T7292
https://phabricator.kde.org/T11585
parent 755e5460
########### install files ###############
#
kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/emoticons)
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
"dtd/kdedbx45.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE">
]>
<article id="emoticons" lang="&language;">
<articleinfo>
<title>Emoticons</title>
<authorgroup>
<author>&Anne-Marie.Mahfouf;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2016-09-21</date>
<releaseinfo>Plasma 5.8</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>System Settings</keyword>
<keyword>emoticons</keyword>
<keyword>KCMEmoticons</keyword>
</keywordset>
</articleinfo>
<sect1 id="kcm_emoticons">
<title>Emoticons Themes Manager</title>
<sect2 id="icons-intro">
<title>Introduction</title>
<para>
<screenshot>
<screeninfo>Screenshot of the Emoticons Theme Manager</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="emoticons.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>The Emoticons Theme Manager</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>Emoticons can be used in several &kde; applications: &kopete;, &konversation;, &kmail;... This module offers you to easily manage your emoticons sets. You can:</para>
<itemizedlist>
<listitem><para>add emoticons themes</para></listitem>
<listitem><para>remove emoticons themes</para></listitem>
<listitem><para>install an existing theme</para></listitem>
<listitem><para>add, remove or edit emoticons within a theme</para></listitem>
</itemizedlist>
<important><para>Please note that you will set emoticons themes per application.</para></important>
<para>
The module is separated in two parts: on the left you can manage your themes and on the right you can manage emoticons within themes.
</para>
<para>
An emoticon consists in two parts: an icon (typically a <filename>.png</filename>, <filename>.mng</filename> or <filename>.gif</filename> picture) and a text describing the emoticon. The text can be some ASCII symbols like <userinput>]:-></userinput> or the emoticon short description enclosed within <userinput>*</userinput> like <userinput>*FRIEND*</userinput>. The user types the symbol or the text and the emoticon icon replaces it.
</para>
<para>
The emoticons themes will be saved locally in your home in <filename class="directory">$(qtpaths --paths GenericDataLocation)/emoticons</filename>.
</para>
</sect2>
<sect2 id="themes">
<title>Emoticons Themes</title>
<para>
This section allows you to manage emoticons themes.
</para>
<variablelist>
<varlistentry><term><guilabel>Require spaces around emoticons</guilabel></term>
<listitem>
<para>
When this option is checked, you need to separate the emoticon with a white space before and after it so it is changed to an icon. If you type "Hello:-)" then this string will stay as it is while if you type "Hello :-)" you will get "Hello" followed by the :-) emoticon.
</para>
<para>
When this option is not checked (default), each emoticon string will be replaced by its icon.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Install from File</guilabel></term>
<listitem>
<para>
This action allows you to install a theme you downloaded yourself. A theme file is an archive file, usually a <filename>.tar.gz</filename> or a <filename>.zip</filename> file or any other archive files. A dialog asks you for the location of this local archive file and after you entered or dragged the URL and clicked <guibutton>OK</guibutton>, the theme is installed and will appear in the themes list.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Get New Emoticons...</guilabel></term>
<listitem>
<para>
You need to be connected to the Internet to use this action. A dialog displays a list of emoticons themes from <ulink url="https://store.kde.org/">https://store.kde.org/</ulink> and you can install one by clicking the <guibutton>Install</guibutton> button on the right side of the theme description in the list.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>New Theme</guilabel></term>
<listitem>
<para>
You can create your own new theme from scratch. Clicking on this button brings a dialog asking for the name of the new theme. You can then use the <guibutton>Add...</guibutton> button on the right to create new emoticons and their associated text.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Remove Theme</guilabel></term>
<listitem>
<para>
This action will remove the selected theme from your disk. Select the theme you want to remove in the list. Click the <guibutton>Remove Theme</guibutton> button. This theme will be removed from the disk if you click <guibutton>Apply</guibutton>.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="emoticons-management">
<title>Emoticons Management</title>
<para>
This section allows you to manage emoticons within the selected theme. The list on the right displays all emoticons of the selected theme. You can add, edit or remove any emoticon. Select a theme in the list on the left and then select the action you want to perform.
</para>
<variablelist>
<varlistentry><term><guilabel>Add...</guilabel></term>
<listitem>
<para>
This button allows you to add an emoticon to the selected theme. The dialog asks you to choose an icon for your emoticon and to enter the corresponding ASCII symbol or text attached to it. After that, clicking <guibutton>OK</guibutton> will add your new emoticon in the emoticon list, you will see the icon and the corresponding text displayed. If you want to modify either the icon or the text, you can use the <guibutton>Edit...</guibutton> button described below.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Remove</guilabel></term>
<listitem>
<para>
This will remove the selected emoticon from the selected theme. You need to click the <guibutton>Yes</guibutton> button to validate this action.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Edit...</guilabel></term>
<listitem>
<para>
The <guibutton>Edit...</guibutton> button allows you to change either the icon or the text of the selected emoticon. You need to click the <guibutton>OK</guibutton> button to validate this action.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
</article>
<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
vim:tabstop=2:shiftwidth=2:expandtab
kate: space-indent on; indent-width 2; tab-width 2; indent-mode none;
-->
......@@ -40,7 +40,6 @@ add_subdirectory( desktoppaths )
add_subdirectory(activities)
add_subdirectory(componentchooser)
add_subdirectory(emoticons)
add_subdirectory(icons)
add_subdirectory(kded)
add_subdirectory(formats)
......
# KI18N Translation Domain for this library
add_definitions(-DTRANSLATION_DOMAIN=\"kcm5_emoticons\")
set(kcmemoticons_SRCS emoticonslist.cpp)
ki18n_wrap_ui(kcmemoticons_SRCS emoticonslist.ui)
add_library(kcm_emoticons MODULE ${kcmemoticons_SRCS})
target_link_libraries(kcm_emoticons
KF5::NewStuff
KF5::Completion
KF5::KDELibs4Support
KF5::Emoticons)
install(TARGETS kcm_emoticons DESTINATION ${KDE_INSTALL_PLUGINDIR} )
########### install files ###############
install( FILES emoticons.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
install( FILES emoticons.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
#!/usr/bin/env bash
$EXTRACTRC *.ui >> rc.cpp
$XGETTEXT *.cpp -o $podir/kcm5_emoticons.pot
[Desktop Entry]
Exec=kcmshell5 emoticons
Icon=face-smile
Type=Service
X-DocPath=kcontrol/emoticons/index.html
X-KDE-ServiceTypes=KCModule
X-KDE-Library=kcm_emoticons
X-KDE-ParentApp=kcontrol
X-KDE-System-Settings-Parent-Category=icons
X-KDE-Weight=110
Name=Emoticons
Name[af]=Emotikons
Name[ar]=الوجوه التّعبيرية
Name[as]=ভাব-প্ৰতীক
Name[ast]=Fustaxes
Name[az]=İfadələr
Name[be@latin]=Smajliki
Name[bg]=Емотикони
Name[bn]=ইমোট-আইকন
Name[bn_IN]=ইমোআইকন
Name[bs]=Emotikoni
Name[ca]=Emoticones
Name[ca@valencia]=Emoticones
Name[cs]=Emotikony
Name[csb]=Emòtikónczi
Name[da]=Emotikoner
Name[de]=Emoticons
Name[el]=Εικονίδια διάθεσης
Name[en_GB]=Emoticons
Name[eo]=Miensimboloj
Name[es]=Emoticonos
Name[et]=Emotikonid
Name[eu]=Aurpegierak
Name[fa]=صورتک
Name[fi]=Hymiöt
Name[fr]=Émoticônes
Name[fy]=Emobyldkaikes
Name[ga]=Straoiseoga
Name[gl]=Emoticonas
Name[gu]=લાગણીઓ
Name[he]=רגשונים
Name[hi]=हँसमुख
Name[hne]=चेहराचिनहा
Name[hr]=Emoticons
Name[hsb]=Emotikony
Name[hu]=Emotikonok
Name[ia]=Emoticones
Name[id]=Emoticon
Name[is]=Tjáningartákn
Name[it]=Faccine
Name[ja]=感情アイコン
Name[kk]=Көңіл күйі белгілері
Name[km]=សញ្ញា​អារម្មណ៍
Name[kn]=ಭಾವನಾಚಿಹ್ನೆಗಳು (ಎಮೋಟಿಕಾನ್)
Name[ko]=이모티콘
Name[ku]=Emotîkon
Name[lt]=Jaustukai
Name[lv]=Emocijzīmes
Name[mai]=भाव-प्रतीक
Name[mk]=Емотикони
Name[ml]=വികാരചിഹ്നങ്ങള്‍
Name[mr]=भावप्रतिमा
Name[nb]=Humørfjes
Name[nds]=Snuten
Name[nl]=Emoticons
Name[nn]=Fjesingar
Name[or]=Emoticons
Name[pa]=ਈਮੋਸ਼ਨ
Name[pl]=Emotikony
Name[pt]=Ícones Emotivos
Name[pt_BR]=Emoticons
Name[ro]=Emoticoni
Name[ru]=Смайлики
Name[si]=ඉමොටිකොන
Name[sk]=Emotikony
Name[sl]=Izrazne ikone
Name[sr]=Емотикони
Name[sr@ijekavian]=Емотикони
Name[sr@ijekavianlatin]=Emotikoni
Name[sr@latin]=Emotikoni
Name[sv]=Smilisar
Name[ta]=உணர்வோயியங்கள்
Name[te]=ఎమొటికాన్లు
Name[tg]=Тасвирчаҳо
Name[th]=ไอคอนสื่ออารมณ์
Name[tr]=Duygu Simgeleri
Name[ug]=چىراي ئىپادىلىرى
Name[uk]=Емоційки
Name[uz]=His-tuygʻular
Name[uz@cyrillic]=Ҳис-туйғулар
Name[vi]=Hình biểu cảm
Name[wa]=Xhinêyes
Name[x-test]=xxEmoticonsxx
Name[zh_CN]=表情符号
Name[zh_TW]=表情圖示
Comment=Choose emoticon theme
Comment[az]=İfadələr mövzusunu seçmək
Comment[ca]=Trieu el tema de les emoticones
Comment[ca@valencia]=Trieu el tema de les emoticones
Comment[cs]=Vyberte motiv emotikonů
Comment[da]=Vælg emotikontema
Comment[de]=Emoticon-Design auswählen
Comment[en_GB]=Choose emoticon theme
Comment[es]=Escoger un tema de emoticonos
Comment[et]=Emotikoniteema valimine
Comment[eu]=Aukeratu aurpegiera-gaia
Comment[fi]=Valitse hymiöteema
Comment[fr]=Choisir le thème d'émoticônes
Comment[gl]=Escoller un tema de emoticonas
Comment[hu]=Az emotikon témájának kiválasztása
Comment[ia]=Selige le thema de emoticon
Comment[id]=Pilihlah tema emoticon
Comment[it]=Scegli tema di faccine
Comment[ja]=感情アイコンテーマをカスタマイズ
Comment[ko]=이모티콘 테마 선택
Comment[lt]=Pasirinkti jaustukų apipavidalinimą
Comment[nl]=Emoticonthema kiezen
Comment[nn]=Vel fjesingtema
Comment[pa]=ਈਮੋਸ਼ਨ ਥੀਮ ਚੁਣੋ
Comment[pl]=Wybierz zestaw emotikon
Comment[pt]=Escolher o tema de ícones emotivos
Comment[pt_BR]=Escolha o tema de emoticons
Comment[ru]=Выбор набора смайликов
Comment[sk]=Výber témy emotikonov
Comment[sl]=Izberi temo čustvenčkov
Comment[sv]=Välj smilistema
Comment[tg]=Мавзӯи тасвирчаҳоро интихоб намоед
Comment[uk]=Вибір теми емоційок
Comment[x-test]=xxChoose emoticon themexx
Comment[zh_CN]=选择表情主题
Comment[zh_TW]=選擇表情符號主題
X-KDE-Keywords=Emoticons
X-KDE-Keywords[ar]=الوجوه التعبيرية,وجوه تعبيرية,ابتسامات
X-KDE-Keywords[ast]=Fustaxes
X-KDE-Keywords[az]=İfadələr
X-KDE-Keywords[bg]=Emoticons,Емотикони
X-KDE-Keywords[bn]=ইমোট-আইকন
X-KDE-Keywords[bs]=Emotikoni
X-KDE-Keywords[ca]=Emoticones
X-KDE-Keywords[ca@valencia]=Emoticones
X-KDE-Keywords[cs]=Emotikony
X-KDE-Keywords[da]=Emotikoner
X-KDE-Keywords[de]=Emoticons
X-KDE-Keywords[el]=Εικονίδια διάθεσης
X-KDE-Keywords[en_GB]=Emoticons
X-KDE-Keywords[eo]=Miensimboloj
X-KDE-Keywords[es]=Emoticonos
X-KDE-Keywords[et]=Emotikonid
X-KDE-Keywords[eu]=Aurpegierak
X-KDE-Keywords[fa]=صورتک
X-KDE-Keywords[fi]=Hymiöt
X-KDE-Keywords[fr]=Émoticônes
X-KDE-Keywords[ga]=Straoiseoga
X-KDE-Keywords[gl]=Emoticonas
X-KDE-Keywords[gu]=લાગણીઓ
X-KDE-Keywords[he]=רגשונים
X-KDE-Keywords[hi]=हँसमुख
X-KDE-Keywords[hu]=Emotikonok
X-KDE-Keywords[ia]=Emoticones
X-KDE-Keywords[id]=Emoticons
X-KDE-Keywords[is]=Tjáningartákn
X-KDE-Keywords[it]=Faccine
X-KDE-Keywords[ja]=感情アイコン
X-KDE-Keywords[kk]=Emoticons,Көңіл күйі белгілері
X-KDE-Keywords[km]=សញ្ញា​អារម្មណ៍
X-KDE-Keywords[ko]=이모티콘
X-KDE-Keywords[lt]=Jaustukai
X-KDE-Keywords[lv]=Emocijzīmes
X-KDE-Keywords[mr]=भावप्रतिमा
X-KDE-Keywords[nb]=Humørfjes
X-KDE-Keywords[nds]=Snuten,Emoticons
X-KDE-Keywords[nl]=Emoticons
X-KDE-Keywords[nn]=Fjesingar
X-KDE-Keywords[pa]=ਈਮੋਸ਼ਨ
X-KDE-Keywords[pl]=Emotikony
X-KDE-Keywords[pt]=Ícones Emotivos
X-KDE-Keywords[pt_BR]=Emoticons
X-KDE-Keywords[ro]=Emoticoni
X-KDE-Keywords[ru]=Emoticons,смайлики,смайлы,улыбочки
X-KDE-Keywords[sk]=Emotikony
X-KDE-Keywords[sl]=Čustvenčki
X-KDE-Keywords[sr]=emoticons,емотикони
X-KDE-Keywords[sr@ijekavian]=emoticons,емотикони
X-KDE-Keywords[sr@ijekavianlatin]=emoticons,emotikoni
X-KDE-Keywords[sr@latin]=emoticons,emotikoni
X-KDE-Keywords[sv]=Smilisar
X-KDE-Keywords[tg]=Тасвирчаҳо
X-KDE-Keywords[tr]=Duygu Simgeleri
X-KDE-Keywords[ug]=چىراي ئىپادىلىرى
X-KDE-Keywords[uk]=емоційка,емоційки,смайлик,смайлики
X-KDE-Keywords[vi]=Hình biểu cảm
X-KDE-Keywords[wa]=Xhinêyes
X-KDE-Keywords[x-test]=xxEmoticonsxx
X-KDE-Keywords[zh_CN]=Emoticons,表情符号
X-KDE-Keywords[zh_TW]=Emoticons
[KNewStuff3]
Name=Emoticons
Name[af]=Emotikons
Name[ar]=الوجوه التّعبيرية
Name[as]=ভাব-প্ৰতীক
Name[ast]=Fustaxes
Name[az]=İfadələr
Name[be@latin]=Smajliki
Name[bg]=Емотикони
Name[bn]=ইমোট-আইকন
Name[bn_IN]=ইমোআইকন
Name[bs]=Emotikoni
Name[ca]=Emoticones
Name[ca@valencia]=Emoticones
Name[cs]=Emotikony
Name[csb]=Emòtikónczi
Name[da]=Emotikoner
Name[de]=Emoticons
Name[el]=Εικονίδια διάθεσης
Name[en_GB]=Emoticons
Name[eo]=Miensimboloj
Name[es]=Emoticonos
Name[et]=Emotikonid
Name[eu]=Aurpegierak
Name[fa]=صورتک
Name[fi]=Hymiöt
Name[fr]=Émoticônes
Name[fy]=Emobyldkaikes
Name[ga]=Straoiseoga
Name[gl]=Emoticonas
Name[gu]=લાગણીઓ
Name[he]=רגשונים
Name[hi]=हँसमुख
Name[hne]=चेहराचिनहा
Name[hr]=Emoticons
Name[hsb]=Emotikony
Name[hu]=Emotikonok
Name[ia]=Emoticones
Name[id]=Emoticon
Name[is]=Tjáningartákn
Name[it]=Faccine
Name[ja]=感情アイコン
Name[kk]=Көңіл күйі белгілері
Name[km]=សញ្ញា​អារម្មណ៍
Name[kn]=ಭಾವನಾಚಿಹ್ನೆಗಳು (ಎಮೋಟಿಕಾನ್)
Name[ko]=이모티콘
Name[ku]=Emotîkon
Name[lt]=Jaustukai
Name[lv]=Emocijzīmes
Name[mai]=भाव-प्रतीक
Name[mk]=Емотикони
Name[ml]=വികാരചിഹ്നങ്ങള്‍
Name[mr]=भावप्रतिमा
Name[nb]=Humørfjes
Name[nds]=Snuten
Name[nl]=Emoticons
Name[nn]=Fjesingar
Name[or]=Emoticons
Name[pa]=ਈਮੋਸ਼ਨ
Name[pl]=Emotikony
Name[pt]=Ícones Emotivos
Name[pt_BR]=Emoticons
Name[ro]=Emoticoni
Name[ru]=Смайлики
Name[si]=ඉමොටිකොන
Name[sk]=Emotikony
Name[sl]=Izrazne ikone
Name[sr]=Емотикони
Name[sr@ijekavian]=Емотикони
Name[sr@ijekavianlatin]=Emotikoni
Name[sr@latin]=Emotikoni
Name[sv]=Smilisar
Name[ta]=உணர்வோயியங்கள்
Name[te]=ఎమొటికాన్లు
Name[tg]=Тасвирчаҳо
Name[th]=ไอคอนสื่ออารมณ์
Name[tr]=Duygu Simgeleri
Name[ug]=چىراي ئىپادىلىرى
Name[uk]=Емоційки
Name[uz]=His-tuygʻular
Name[uz@cyrillic]=Ҳис-туйғулар
Name[vi]=Hình biểu cảm
Name[wa]=Xhinêyes
Name[x-test]=xxEmoticonsxx
Name[zh_CN]=表情符号
Name[zh_TW]=表情圖示
ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
Categories=Emoticon Theme
TargetDir=emoticons
Uncompress=always
/***************************************************************************
* Copyright (C) 2007 by Carlo Segato <brandon.ml@gmail.com> *
* Copyright (C) 2008 Montel Laurent <montel@kde.org> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* 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., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
#include "emoticonslist.h"
#include <kconfigwidgets_version.h>
#include <QString>
#include <QDir>
#include <QIcon>
#include <QLabel>
#include <QListWidgetItem>
#include <QUrl>
#include <KGlobal>
#include <KMessageBox>
#include <KAboutData>
#include <KStandardDirs>
#include <KFileDialog>
#include <KPluginFactory>
#include <KPluginLoader>
#include <KInputDialog>
#include <KUrlRequesterDialog>
#include <kmessagebox_queued.h>
#include <kio/netaccess.h>
#include <KNS3/DownloadDialog>
#include <KLocalizedString>
EditDialog::EditDialog(QWidget *parent, const QString &name)
: KDialog(parent)
{
setCaption(name);
setupDlg();
}
EditDialog::EditDialog(QWidget *parent, const QString &name, QListWidgetItem *itm, const QString &file)
: KDialog(parent)
{
setCaption(name);
emoticon = file;
setupDlg();
leText->setText(itm->text());
btnIcon->setIcon(itm->icon());
}
void EditDialog::setupDlg()
{
wdg = new QWidget(this);
QVBoxLayout *vl = new QVBoxLayout;
QHBoxLayout *hb = new QHBoxLayout;
leText = new KLineEdit(this);
btnIcon = new QPushButton(this);
btnIcon->setFixedSize(QSize(64, 64));
btnIcon->setIconSize(QSize(64, 64));
QLabel *lab = new QLabel(i18n("Insert the string for the emoticon. If you want multiple strings, separate them by spaces."), wdg);
lab->setWordWrap(true);
vl->addWidget(lab);
hb->addWidget(btnIcon);
hb->addWidget(leText);
vl->addLayout(hb);
wdg->setLayout(vl);
setMainWidget(wdg);
connect(btnIcon, &QPushButton::clicked, this, &EditDialog::btnIconClicked);
connect(leText, &KLineEdit::textChanged, this, &EditDialog::updateOkButton);
updateOkButton();
leText->setFocus();
}
void EditDialog::btnIconClicked()
{
const QUrl url = KFileDialog::getImageOpenUrl();
if (!url.isLocalFile())
return;
emoticon = url.toLocalFile();
if (emoticon.isEmpty())
return;
btnIcon->setIcon(QPixmap(emoticon));
updateOkButton();
}
void EditDialog::updateOkButton()
{
enableButtonOk(!leText->text().isEmpty() && !emoticon.isEmpty());
}
K_PLUGIN_FACTORY(EmoticonsFactory, registerPlugin<EmoticonList>();)
EmoticonList::EmoticonList(QWidget *parent, const QVariantList &args)
: KCModule(parent, args)
{
KAboutData *about = new KAboutData(QStringLiteral("kcm_emoticons"), i18n("Emoticons"), QStringLiteral("1.0"), QString(), KAboutLicense::GPL);
setAboutData(about);
// setButtons(Apply | Help);
setupUi(this);
btAdd->setIcon(QIcon::fromTheme(QStringLiteral("list-add")));
btEdit->setIcon(QIcon::fromTheme(QStringLiteral("edit-rename")));
btRemoveEmoticon->setIcon(QIcon::fromTheme(QStringLiteral("edit-delete")));
btNew->setIcon(QIcon::fromTheme(QStringLiteral("list-add")));
btGetNew->setIcon(QIcon::fromTheme(QStringLiteral("get-hot-new-stuff")));
btInstall->setIcon(QIcon::fromTheme(QStringLiteral("document-import")));
btRemoveTheme->setIcon(QIcon::fromTheme(QStringLiteral("edit-delete")));
connect(themeList, &QListWidget::itemSelectionChanged, this, &EmoticonList::selectTheme);
connect(themeList, &QListWidget::itemSelectionChanged, this, &EmoticonList::updateButton);
connect(btRemoveTheme, &QPushButton::clicked, this, &EmoticonList::btRemoveThemeClicked);
connect(btInstall, &