new lrc: refactor settings page, ui overhaul

Change-Id: I7eac9e025a3c1281b0ba98515dc77f65c36fc178
Reviewed-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
diff --git a/settingsitemwidget.h b/settingsitemwidget.h
new file mode 100644
index 0000000..44c4d9d
--- /dev/null
+++ b/settingsitemwidget.h
@@ -0,0 +1,50 @@
+/****************************************************************************
+ *   Copyright (C) 2018 Savoir-faire Linux                                  *
+ *   Author: Isa Nanic <isa.nanic@savoirfairelinux.com>                     *
+ *                                                                          *
+ *   This library is free software; you can redistribute it and/or          *
+ *   modify it under the terms of the GNU Lesser General Public             *
+ *   License as published by the Free Software Foundation; either           *
+ *   version 2.1 of the License, or (at your option) any later version.     *
+ *                                                                          *
+ *   This library 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      *
+ *   Lesser General Public License for more details.                        *
+ *                                                                          *
+ *   You should have received a copy of the GNU General Public License      *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ ***************************************************************************/
+#include <QListWidgetItem>
+#include <QLineEdit>
+#include <QLabel>
+#include <QPushButton>
+
+
+
+class SettingsItemWidget : public QListWidgetItem
+{
+public:
+    SettingsItemWidget(int height, int index, bool banned, QListWidget* parent = nullptr);
+    ~SettingsItemWidget();
+
+    QPushButton* button_;
+
+private:
+    bool selected_ = false;
+    bool banned_ = false;
+    const int index_;
+    const int height_;
+
+    const int horMargin_ = 15;
+    const int verMargin_ = 8;
+
+    QLineEdit* nameEdit_;
+    QLabel* idlabel_;
+
+    void toggleEditable();
+    void finishEdit();
+
+    bool editable_ = false;
+};
+