IgnoreListSettingsPage::IgnoreListSettingsPage(QWidget *parent)
  : SettingsPage(tr("IRC"), tr("Ignore List"), parent)
{
  ui.setupUi(this);
  _delegate = new IgnoreListDelegate(ui.ignoreListView);
  ui.newIgnoreRuleButton->setIcon(SmallIcon("list-add"));
  ui.deleteIgnoreRuleButton->setIcon(SmallIcon("edit-delete"));
  ui.editIgnoreRuleButton->setIcon(SmallIcon("configure"));

  ui.ignoreListView->setSelectionBehavior(QAbstractItemView::SelectRows);
  ui.ignoreListView->setSelectionMode(QAbstractItemView::SingleSelection);
  ui.ignoreListView->setAlternatingRowColors(true);
  ui.ignoreListView->setTabKeyNavigation(false);
  ui.ignoreListView->setModel(&_ignoreListModel);
 // ui.ignoreListView->setEditTriggers(QAbstractItemView::NoEditTriggers);

  // ui.ignoreListView->setSortingEnabled(true);
  ui.ignoreListView->verticalHeader()->hide();
  ui.ignoreListView->hideColumn(1);
  ui.ignoreListView->resizeColumnToContents(0);
  ui.ignoreListView->horizontalHeader()->setStretchLastSection(true);
  ui.ignoreListView->setItemDelegateForColumn(0, _delegate);
  ui.ignoreListView->viewport()->setAttribute(Qt::WA_Hover);
  ui.ignoreListView->viewport()->setMouseTracking(true);

  connect(ui.ignoreListView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(selectionChanged(const QItemSelection &, const QItemSelection &)));
  connect(ui.newIgnoreRuleButton, SIGNAL(clicked()), this, SLOT(newIgnoreRule()));
  connect(ui.deleteIgnoreRuleButton, SIGNAL(clicked()), this, SLOT(deleteSelectedIgnoreRule()));
  connect(ui.editIgnoreRuleButton, SIGNAL(clicked()), this, SLOT(editSelectedIgnoreRule()));
  connect(&_ignoreListModel, SIGNAL(configChanged(bool)), this, SLOT(setChangedState(bool)));
  connect(&_ignoreListModel, SIGNAL(modelReady(bool)), this, SLOT(enableDialog(bool)));

  enableDialog(_ignoreListModel.isReady());
}
Пример #2
0
AliasesSettingsPage::AliasesSettingsPage(QWidget *parent)
    : SettingsPage(tr("IRC"), tr("Aliases"), parent)
{
    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);

    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)));

    enableDialog(_aliasesModel.isReady());
}