common: Make SyncableObject non-copyable
[quassel.git] / src / qtui / settingspages / aliasessettingspage.cpp
index 8f8ac9b..80e5c0f 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-2020 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -15,7 +15,7 @@
  *   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.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
 #include "aliasessettingspage.h"
 #include <QHeaderView>
 #include <QItemSelectionModel>
 
-#include "iconloader.h"
+#include "icon.h"
 
-AliasesSettingsPage::AliasesSettingsPage(QWidget *parent)
-  : SettingsPage(tr("Behaviour"), tr("Aliases"), parent)
+AliasesSettingsPage::AliasesSettingsPage(QWidgetparent)
+    : SettingsPage(tr("IRC"), tr("Aliases"), parent)
 {
-  ui.setupUi(this);
-  ui.newAliasButton->setIcon(SmallIcon("list-add"));
-  ui.deleteAliasButton->setIcon(SmallIcon("edit-delete"));
+    ui.setupUi(this);
+    ui.newAliasButton->setIcon(icon::get("list-add"));
+    ui.deleteAliasButton->setIcon(icon::get("edit-delete"));
 
-  ui.aliasesView->setSelectionBehavior(QAbstractItemView::SelectRows);
-  ui.aliasesView->setSelectionMode(QAbstractItemView::SingleSelection);
-  ui.aliasesView->setAlternatingRowColors(true);
-  ui.aliasesView->setTabKeyNavigation(false);
-  ui.aliasesView->setModel(&_aliasesModel);
-  // ui.aliasesView->setSortingEnabled(true);
-  ui.aliasesView->verticalHeader()->hide();
-  ui.aliasesView->horizontalHeader()->setStretchLastSection(true);
+    ui.aliasesView->setSelectionBehavior(QAbstractItemView::SelectRows);
+    ui.aliasesView->setSelectionMode(QAbstractItemView::SingleSelection);
+    ui.aliasesView->setAlternatingRowColors(true);
+    ui.aliasesView->setTabKeyNavigation(false);
+    ui.aliasesView->setModel(&_aliasesModel);
+    // ui.aliasesView->setSortingEnabled(true);
+    ui.aliasesView->verticalHeader()->hide();
+    ui.aliasesView->horizontalHeader()->setStretchLastSection(true);
 
-  connect(ui.newAliasButton, SIGNAL(clicked()), &_aliasesModel, SLOT(newAlias()));
-  connect(ui.deleteAliasButton, SIGNAL(clicked()), this, SLOT(deleteSelectedAlias()));
-  connect(&_aliasesModel, SIGNAL(configChanged(bool)), this, SLOT(setChangedState(bool)));
-  connect(&_aliasesModel, SIGNAL(modelReady(bool)), this, SLOT(enableDialog(bool)));
+    connect(ui.newAliasButton, &QAbstractButton::clicked, &_aliasesModel, &AliasesModel::newAlias);
+    connect(ui.deleteAliasButton, &QAbstractButton::clicked, this, &AliasesSettingsPage::deleteSelectedAlias);
+    connect(&_aliasesModel, &AliasesModel::configChanged, this, &AliasesSettingsPage::setChangedState);
+    connect(&_aliasesModel, &AliasesModel::modelReady, this, &AliasesSettingsPage::enableDialog);
+
+    enableDialog(_aliasesModel.isReady());
+}
+
+void AliasesSettingsPage::load()
+{
+    if (_aliasesModel.hasConfigChanged())
+        _aliasesModel.revert();
 }
 
-void AliasesSettingsPage::load() {
-  if(_aliasesModel.configChanged())
-    _aliasesModel.revert();
+void AliasesSettingsPage::defaults()
+{
+    _aliasesModel.loadDefaults();
 }
 
-void AliasesSettingsPage::save() {
-  if(_aliasesModel.configChanged())
-    _aliasesModel.commit();
+void AliasesSettingsPage::save()
+{
+    if (_aliasesModel.hasConfigChanged())
+        _aliasesModel.commit();
 }
 
-void AliasesSettingsPage::enableDialog(bool enabled) {
-  ui.newAliasButton->setEnabled(enabled);
-  ui.deleteAliasButton->setEnabled(enabled);
+void AliasesSettingsPage::enableDialog(bool enabled)
+{
+    ui.newAliasButton->setEnabled(enabled);
+    ui.deleteAliasButton->setEnabled(enabled);
+    setEnabled(enabled);
 }
 
-void AliasesSettingsPage::deleteSelectedAlias() {
-  if(!ui.aliasesView->selectionModel()->hasSelection())
-    return;
+void AliasesSettingsPage::deleteSelectedAlias()
+{
+    if (!ui.aliasesView->selectionModel()->hasSelection())
+        return;
 
-  _aliasesModel.removeAlias(ui.aliasesView->selectionModel()->selectedIndexes()[0].row());
+    _aliasesModel.removeAlias(ui.aliasesView->selectionModel()->selectedIndexes()[0].row());
 }