Exemplo n.º 1
0
void Paste::createConfigurationInterface(KConfigDialog *parent)
{
    m_snippetConfig = new SnippetConfig;
    connect(&cfg, SIGNAL(changed(ConfigData)),
            m_snippetConfig, SLOT(setData(ConfigData)));
    m_snippetConfig->setData(cfg);
    m_autoPasteConfig = new AutoPasteConfig;
    connect(&cfg, SIGNAL(changed(ConfigData)),
            m_autoPasteConfig, SLOT(setData(ConfigData)));
    m_autoPasteConfig->setData(cfg);

    parent->addPage(m_snippetConfig, i18n("Texts"), "accessories-text-editor");
    parent->addPage(m_autoPasteConfig, i18n("Automatic Paste"), "edit-paste");
    connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
    connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
    connect(m_snippetConfig->textEdit, SIGNAL(textChanged()), parent, SLOT(settingsModified()));
    connect(m_snippetConfig->nameEdit, SIGNAL(userTextChanged(QString)), parent, SLOT(settingsModified()));
    connect(m_snippetConfig->list, SIGNAL(itemSelectionChanged()), parent, SLOT(settingsModified()));
    connect(m_snippetConfig->addMacroButton, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
    connect(m_snippetConfig->addButton, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
    connect(m_snippetConfig->removeButton, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
    connect(m_autoPasteConfig->autoPasteCheckBox, SIGNAL(toggled(bool)), parent, SLOT(settingsModified())); 
    connect(m_autoPasteConfig->addButton, SIGNAL(clicked()), parent, SLOT(settingsModified())); 
    connect(m_autoPasteConfig->editButton, SIGNAL(clicked()), parent, SLOT(settingsModified())); 
    connect(m_autoPasteConfig->removeButton, SIGNAL(clicked(bool)), parent, SLOT(settingsModified()));
    connect(m_autoPasteConfig->pasteKeyButton, SIGNAL(keySequenceChanged(QKeySequence)), parent, SLOT(settingsModified()));
    connect(m_autoPasteConfig->appsTreeView, SIGNAL(clicked(bool)), parent, SLOT(settingsModified()));
}
Exemplo n.º 2
0
void Clock::createClockConfigurationInterface(KConfigDialog *parent)
{
    //TODO: Make the size settable
    QWidget *widget = new QWidget();
    ui.setupUi(widget);
    parent->addPage(widget, i18n("Appearance"), "view-media-visualization");

    ui.secondsCheckbox->setChecked(m_showSeconds);
    ui.showTimeZone->setChecked(m_showTimezone);
    ui.plainClockFontBold->setChecked(m_plainClockFont.bold());
    ui.plainClockFontItalic->setChecked(m_plainClockFont.italic());
    ui.plainClockFont->setCurrentFont(m_plainClockFont);
    ui.useCustomColor->setChecked(m_useCustomColor);
    ui.plainClockColor->setColor(m_plainClockColor);
    ui.drawShadow->setChecked(m_drawShadow);
    ui.useCustomShadowColor->setChecked(m_useCustomShadowColor);
    ui.plainClockShadowColor->setColor(m_plainClockShadowColor);
    ui.configureDateFormats->setIcon( KIcon( "configure" ) );

    QStringList dateStyles;
    dateStyles << i18nc("A kind of date representation", "No date")
               << i18nc("A kind of date representation", "Compact date")
               << i18nc("A kind of date representation", "Short date")
               << i18nc("A kind of date representation", "Long date")
               << i18nc("A kind of date representation", "ISO date");

    ui.dateStyle->addItems(dateStyles);
    ui.dateStyle->setCurrentIndex(m_dateStyle);

    connect(ui.drawShadow, SIGNAL(toggled(bool)),
            this, SLOT(configDrawShadowToggled(bool)));
    connect(ui.configureDateFormats, SIGNAL(clicked()),
            this, SLOT(launchDateKcm()));
    configDrawShadowToggled(m_drawShadow);

    connect(ui.plainClockFont, SIGNAL(currentFontChanged(QFont)),
            parent, SLOT(settingsModified()));
    connect(ui.plainClockFontBold, SIGNAL(stateChanged(int)),
            parent, SLOT(settingsModified()));
    connect(ui.plainClockFontItalic, SIGNAL(stateChanged(int)),
            parent, SLOT(settingsModified()));
    connect(ui.useCustomColor, SIGNAL(stateChanged(int)),
            parent, SLOT(settingsModified()));
    connect(ui.plainClockColor, SIGNAL(changed(QColor)),
            parent, SLOT(settingsModified()));
    connect(ui.drawShadow, SIGNAL(stateChanged(int)),
            parent, SLOT(settingsModified()));
    connect(ui.useCustomShadowColor, SIGNAL(stateChanged(int)),
            parent, SLOT(settingsModified()));
    connect(ui.plainClockShadowColor, SIGNAL(changed(QColor)), 
            parent, SLOT(settingsModified()));
    connect(ui.showTimeZone, SIGNAL(stateChanged(int)),
            parent, SLOT(settingsModified()));
    connect(ui.secondsCheckbox, SIGNAL(stateChanged(int)),
            parent, SLOT(settingsModified()));
    connect(ui.dateStyle, SIGNAL(currentIndexChanged(int)),
            parent, SLOT(settingsModified()));
}
Exemplo n.º 3
0
void PreferencesSearchPageWidget::createSearchEngine()
{
	const QString identifier(Utils::createIdentifier(QString(), m_searchEngines.keys()));

	if (identifier.isEmpty())
	{
		return;
	}

	SearchEnginesManager::SearchEngineDefinition searchEngine;
	searchEngine.identifier = identifier;
	searchEngine.title = tr("New Search Engine");
	searchEngine.icon = ThemesManager::createIcon(QLatin1String("edit-find"));

	SearchEnginePropertiesDialog dialog(searchEngine, getKeywords(m_ui->searchViewWidget->getSourceModel()), this);

	if (dialog.exec() == QDialog::Rejected)
	{
		return;
	}

	searchEngine = dialog.getSearchEngine();

	m_searchEngines[identifier] = {true, searchEngine};

	m_ui->searchViewWidget->insertRow(createRow(searchEngine));

	emit settingsModified();
}
PreferencesSearchPageWidget::PreferencesSearchPageWidget(QWidget *parent) : QWidget(parent),
	m_defaultSearchEngine(SettingsManager::getValue(QLatin1String("Search/DefaultSearchEngine")).toString()),
	m_ui(new Ui::PreferencesSearchPageWidget)
{
	m_ui->setupUi(this);

	QStandardItemModel *searchEnginesModel(new QStandardItemModel(this));
	searchEnginesModel->setHorizontalHeaderLabels(QStringList({tr("Name"), tr("Keyword")}));

	const QStringList searchEngines(SearchEnginesManager::getSearchEngines());

	for (int i = 0; i < searchEngines.count(); ++i)
	{
		const SearchEnginesManager::SearchEngineDefinition searchEngine(SearchEnginesManager::getSearchEngine(searchEngines.at(i)));

		if (searchEngine.identifier.isEmpty())
		{
			continue;
		}

		m_searchEngines[searchEngine.identifier] = qMakePair(false, searchEngine);

		QList<QStandardItem*> items({new QStandardItem(searchEngine.icon, searchEngine.title), new QStandardItem(searchEngine.keyword)});
		items[0]->setData(searchEngine.identifier, Qt::UserRole);
		items[0]->setToolTip(searchEngine.description);
		items[0]->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDragEnabled);
		items[1]->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDragEnabled);

		searchEnginesModel->appendRow(items);
	}

	m_ui->searchViewWidget->setModel(searchEnginesModel);
	m_ui->searchViewWidget->setItemDelegateForColumn(1, new SearchKeywordDelegate(this));
	m_ui->searchSuggestionsCheckBox->setChecked(SettingsManager::getValue(QLatin1String("Search/SearchEnginesSuggestions")).toBool());

	QMenu *addSearchMenu(new QMenu(m_ui->addSearchButton));
	addSearchMenu->addAction(tr("New…"));
	addSearchMenu->addAction(tr("Readd"))->setMenu(new QMenu(m_ui->addSearchButton));

	m_ui->addSearchButton->setMenu(addSearchMenu);
	m_ui->moveDownSearchButton->setIcon(ThemesManager::getIcon(QLatin1String("arrow-down")));
	m_ui->moveUpSearchButton->setIcon(ThemesManager::getIcon(QLatin1String("arrow-up")));

	updateReaddSearchMenu();

	connect(m_ui->searchFilterLineEdit, SIGNAL(textChanged(QString)), m_ui->searchViewWidget, SLOT(setFilterString(QString)));
	connect(m_ui->searchViewWidget, SIGNAL(canMoveDownChanged(bool)), m_ui->moveDownSearchButton, SLOT(setEnabled(bool)));
	connect(m_ui->searchViewWidget, SIGNAL(canMoveUpChanged(bool)), m_ui->moveUpSearchButton, SLOT(setEnabled(bool)));
	connect(m_ui->searchViewWidget, SIGNAL(needsActionsUpdate()), this, SLOT(updateSearchActions()));
	connect(m_ui->searchViewWidget, SIGNAL(modified()), this, SIGNAL(settingsModified()));
	connect(m_ui->addSearchButton->menu()->actions().at(0), SIGNAL(triggered()), this, SLOT(addSearchEngine()));
	connect(m_ui->addSearchButton->menu()->actions().at(1)->menu(), SIGNAL(triggered(QAction*)), this, SLOT(readdSearchEngine(QAction*)));
	connect(m_ui->editSearchButton, SIGNAL(clicked()), this, SLOT(editSearchEngine()));
	connect(m_ui->removeSearchButton, SIGNAL(clicked()), this, SLOT(removeSearchEngine()));
	connect(m_ui->moveDownSearchButton, SIGNAL(clicked()), m_ui->searchViewWidget, SLOT(moveDownRow()));
	connect(m_ui->moveUpSearchButton, SIGNAL(clicked()), m_ui->searchViewWidget, SLOT(moveUpRow()));
}
void PreferencesSearchPageWidget::addSearchEngine()
{
	QStringList identifiers;
	QStringList keywords;

	for (int i = 0; i < m_ui->searchViewWidget->getRowCount(); ++i)
	{
		identifiers.append(m_ui->searchViewWidget->getIndex(i, 0).data(Qt::UserRole).toString());

		const QString keyword = m_ui->searchViewWidget->getIndex(i, 1).data(Qt::DisplayRole).toString();

		if (!keyword.isEmpty())
		{
			keywords.append(keyword);
		}
	}

	const QString identifier = Utils::createIdentifier(QString(), identifiers);

	if (identifier.isEmpty())
	{
		return;
	}

	SearchInformation engine;
	engine.identifier = identifier;
	engine.title = tr("New Search Engine");
	engine.icon = Utils::getIcon(QLatin1String("edit-find"));

	SearchPropertiesDialog dialog(engine, keywords, false, this);

	if (dialog.exec() == QDialog::Rejected)
	{
		return;
	}

	engine = dialog.getSearchEngine();

	m_searchEngines[identifier] = qMakePair(true, engine);

	if (dialog.isDefault())
	{
		m_defaultSearchEngine = identifier;
	}

	QList<QStandardItem*> items;
	items.append(new QStandardItem(engine.icon, engine.title));
	items[0]->setToolTip(engine.description);
	items[0]->setData(identifier, Qt::UserRole);
	items[0]->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDragEnabled);
	items.append(new QStandardItem(engine.keyword));
	items[1]->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDragEnabled);

	m_ui->searchViewWidget->insertRow(items);

	emit settingsModified();
}
Exemplo n.º 6
0
void SettingsDialog::on_tbAddAll_clicked()
{
  int r;

  for (r = lwAvailableModules->count() - 1; r >= 0; --r)
    lwActiveModules->addItem(lwAvailableModules->takeItem(r));

  listWidgetsSelectionChanged();
  settingsModified();
}
Exemplo n.º 7
0
void SettingsDialog::addSettingsWidget(Engine::SettingsWidget *settingsWidget)
{
  QVariant value;
  QListWidgetItem *item;
  QListWidget *lwPtr;
  Gui::EngineButton *button = new Gui::EngineButton(settingsWidget->buttonIcon(),
                                                    settingsWidget->buttonText(),
                                                    sbToolbar);

  connect(settingsWidget,SIGNAL(settingsModified()),
          this,SLOT(settingsModified()));
  button->setPixmap(settingsWidget->buttonPixmap());
  sbToolbar->insertButton(0,button,swMain->addWidget(settingsWidget));
  settingsWidgets.push_back(settingsWidget);
  lwPtr = (settingsWidget->core()->isActive())? lwActiveModules : lwAvailableModules;
  item = new QListWidgetItem(settingsWidget->core()->name(),lwPtr);
  value.setValue(settingsWidget->core());
  item->setData(Qt::UserRole,value);
}
void PreferencesGeneralPageWidget::setupAcceptLanguage()
{
    AcceptLanguageDialog dialog(m_acceptLanguage, this);

    if (dialog.exec() == QDialog::Accepted)
    {
        m_acceptLanguage = dialog.getLanguages();

        emit settingsModified();
    }
}
Exemplo n.º 9
0
void Settings::saveSettings()
{
    settings->setValue("systray/enabled", useSystray->isChecked());
    settings->setValue("systray/close", closeToTray->isChecked());
    settings->setValue("systray/minimize", minimizeToTray->isChecked());

    settings->setValue("web/flash", useFlash->isChecked());
    settings->setValue("web/notifications", enableNotifications->isChecked());

    emit settingsModified();
}
Exemplo n.º 10
0
void SettingsDialog::on_tbAdd_clicked()
{
  int i;
  QList<QListWidgetItem *> items = lwAvailableModules->selectedItems();

  for (i = 0; i < items.size(); ++i)
    lwActiveModules->addItem(lwAvailableModules->takeItem(lwAvailableModules->row(items.at(i))));

  listWidgetsSelectionChanged();
  settingsModified();
}
void PreferencesPrivacyPageWidget::setupThirdPartyCookiesExceptions()
{
	CookiesExceptionsDialog dialog(m_thirdPartyCookiesAcceptedHosts, m_thirdPartyCookiesRejectedHosts, this);

	if (dialog.exec() == QDialog::Accepted)
	{
		m_thirdPartyCookiesAcceptedHosts = dialog.getAcceptedHosts();
		m_thirdPartyCookiesRejectedHosts = dialog.getRejectedHosts();

		emit settingsModified();
	}
}
Exemplo n.º 12
0
void PreferencesContentPageWidget::colorChanged(QWidget *editor)
{
	OptionWidget *widget(qobject_cast<OptionWidget*>(editor));
	const QModelIndex index(widget ? widget->getIndex() : QModelIndex());

	if (index.isValid())
	{
		m_ui->colorsViewWidget->model()->setData(index.sibling(index.row(), 1), QColor(index.data(Qt::EditRole).toString()), Qt::BackgroundRole);
	}

	emit settingsModified();
}
Exemplo n.º 13
0
void PreferencesSearchPageWidget::addSearchEngine(const QString &path, const QString &identifier, bool isReadding)
{
	QFile file(path);

	if (!file.open(QIODevice::ReadOnly))
	{
		QMessageBox::warning(this, tr("Error"), tr("Failed to open Open Search file."));

		return;
	}

	SearchEnginesManager::SearchEngineDefinition searchEngine(SearchEnginesManager::loadSearchEngine(&file, identifier, false));

	file.close();

	if (!searchEngine.isValid() || m_searchEngines.contains(identifier))
	{
		QMessageBox::warning(this, tr("Error"), tr("Failed to open Open Search file."));

		return;
	}

	const QStringList keywords(getKeywords(m_ui->searchViewWidget->getSourceModel()));

	if (keywords.contains(searchEngine.keyword))
	{
		QMessageBox messageBox;
		messageBox.setWindowTitle(tr("Question"));
		messageBox.setText(tr("Keyword is already in use. Do you want to continue anyway?"));
		messageBox.setIcon(QMessageBox::Question);
		messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
		messageBox.setDefaultButton(QMessageBox::Cancel);

		if (messageBox.exec() == QMessageBox::Cancel)
		{
			return;
		}

		searchEngine.keyword.clear();
	}

	m_searchEngines[identifier] = {false, searchEngine};

	m_ui->searchViewWidget->insertRow(createRow(searchEngine));

	if (isReadding)
	{
		updateReaddSearchEngineMenu();
	}

	emit settingsModified();
}
Exemplo n.º 14
0
void Hdd::createConfigurationInterface(KConfigDialog *parent)
{
    QWidget *widget = new QWidget();
    ui.setupUi(widget);
    m_hddModel.clear();
    m_hddModel.setHorizontalHeaderLabels(QStringList() << i18n("Mount Point")
                                                       << i18n("Name"));
    QStandardItem *parentItem = m_hddModel.invisibleRootItem();
    Plasma::DataEngine::Data data;
    QString predicateString("IS StorageVolume");

    foreach (const QString& uuid, engine()->query(predicateString)[predicateString].toStringList()) {
        if (!isValidDevice(uuid, &data)) {
            continue;
        }
        QStandardItem *item1 = new QStandardItem(filePath(data));
        item1->setEditable(false);
        item1->setCheckable(true);
        item1->setData(uuid);
        if (sources().contains(uuid)) {
            item1->setCheckState(Qt::Checked);
        }
        QStandardItem *item2 = new QStandardItem(hddTitle(uuid, data));
        item2->setData(guessHddTitle(data));
        item2->setEditable(true);
        parentItem->appendRow(QList<QStandardItem *>() << item1 << item2);
    }
    ui.treeView->setModel(&m_hddModel);
    ui.treeView->resizeColumnToContents(0);
    ui.intervalSpinBox->setValue(interval() / 60 / 1000);
    ui.intervalSpinBox->setSuffix(ki18np(" minute", " minutes"));

    parent->addPage(widget, i18n("Partitions"), "drive-harddisk");
    connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
    connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
    connect(ui.treeView, SIGNAL(clicked(QModelIndex)), parent, SLOT(settingsModified()));
    connect(ui.intervalSpinBox, SIGNAL(valueChanged(QString)), parent, SLOT(settingsModified()));
}
void PreferencesPrivacyPageWidget::setupClearHistory()
{
	ClearHistoryDialog dialog(m_clearHisorySettings, true, this);

	if (dialog.exec() == QDialog::Accepted)
	{
		m_clearHisorySettings = dialog.getClearSettings();

		emit settingsModified();
	}

	m_ui->clearHistoryCheckBox->setChecked(!m_clearHisorySettings.isEmpty());
	m_ui->clearHistoryButton->setEnabled(!m_clearHisorySettings.isEmpty());
}
void PreferencesSearchPageWidget::editSearchEngine()
{
	const QModelIndex index(m_ui->searchViewWidget->getIndex(m_ui->searchViewWidget->getCurrentRow(), 0));
	const QString identifier(index.data(Qt::UserRole).toString());

	if (identifier.isEmpty() || !m_searchEngines.contains(identifier))
	{
		return;
	}

	QStringList keywords;

	for (int i = 0; i < m_ui->searchViewWidget->getRowCount(); ++i)
	{
		const QString keyword(m_ui->searchViewWidget->getIndex(i, 1).data(Qt::DisplayRole).toString());

		if (m_ui->searchViewWidget->getCurrentRow() != i && !keyword.isEmpty())
		{
			keywords.append(keyword);
		}
	}

	SearchEnginePropertiesDialog dialog(m_searchEngines[identifier].second, keywords, (identifier == m_defaultSearchEngine), this);

	if (dialog.exec() == QDialog::Rejected)
	{
		return;
	}

	SearchEnginesManager::SearchEngineDefinition searchEngine(dialog.getSearchEngine());

	if (keywords.contains(searchEngine.keyword))
	{
		searchEngine.keyword = QString();
	}

	m_searchEngines[identifier] = qMakePair(true, searchEngine);

	if (dialog.isDefault())
	{
		m_defaultSearchEngine = identifier;
	}

	m_ui->searchViewWidget->setData(index, searchEngine.title, Qt::DisplayRole);
	m_ui->searchViewWidget->setData(index, searchEngine.description, Qt::ToolTipRole);
	m_ui->searchViewWidget->setData(index, searchEngine.icon, Qt::DecorationRole);
	m_ui->searchViewWidget->setData(m_ui->searchViewWidget->getIndex(index.row(), 1), searchEngine.keyword, Qt::DisplayRole);

	emit settingsModified();
}
Exemplo n.º 17
0
void PreferencesSearchPageWidget::removeSearchEngine()
{
	const QString identifier(m_ui->searchViewWidget->getIndex(m_ui->searchViewWidget->getCurrentRow(), 0).data(IdentifierRole).toString());

	if (identifier.isEmpty() || !m_searchEngines.contains(identifier))
	{
		return;
	}

	QMessageBox messageBox;
	messageBox.setWindowTitle(tr("Question"));
	messageBox.setText(tr("Do you really want to remove this search engine?"));
	messageBox.setIcon(QMessageBox::Question);
	messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
	messageBox.setDefaultButton(QMessageBox::Cancel);

	const QString path(SessionsManager::getWritableDataPath(QLatin1String("searchEngines/") + identifier + QLatin1String(".xml")));

	if (QFile::exists(path))
	{
		messageBox.setCheckBox(new QCheckBox(tr("Delete search engine permanently")));
	}

	if (messageBox.exec() == QMessageBox::Yes)
	{
		if (messageBox.checkBox() && messageBox.checkBox()->isChecked())
		{
			m_filesToRemove.append(path);
		}

		if (m_updateJobs.contains(identifier))
		{
			m_updateJobs[identifier]->cancel();
			m_updateJobs.remove(identifier);
		}

		m_searchEngines.remove(identifier);

		m_ui->searchViewWidget->removeRow();

		updateReaddSearchEngineMenu();

		emit settingsModified();
	}
}
Exemplo n.º 18
0
void SettingsDialog::on_pbPosition_clicked()
{
  QScopedPointer< Gui::Dialog > dialog(new Gui::Dialog(Gui::Dialog::CenterOfScreen,this));
  PositionModel *model = new PositionModel(dialog.data());
  QTableView *view = new QTableView(dialog.data());
  QItemSelectionModel *selectionModel = new QItemSelectionModel(model,dialog.data());

  dialog->setWindowTitle(tr("Set position"));

  QVBoxLayout *layout = new QVBoxLayout;
  QDialogButtonBox *dialogButtons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel,
                                                         Qt::Horizontal,dialog.data());
  connect(dialogButtons,SIGNAL(accepted()),dialog.data(),SLOT(accept()));
  connect(dialogButtons,SIGNAL(rejected()),dialog.data(),SLOT(reject()));

  view->setModel(model);
  view->setItemDelegateForColumn(0,new PositionLabelDelegate);
  view->setItemDelegateForColumn(1,new PositionDelegate(QApplication::palette()));
  view->setSelectionBehavior(QAbstractItemView::SelectRows);
  view->setSelectionMode(QAbstractItemView::SingleSelection);
  view->setSelectionModel(selectionModel);
  view->verticalHeader()->setVisible(false);
  view->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
  view->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
  view->setEditTriggers(QAbstractItemView::NoEditTriggers);

  layout->addWidget(view);
  layout->addWidget(dialogButtons);
  dialog->setLayout(layout);
  dialog->resize(700,500);
  connect(dialog.data(),SIGNAL(executed()),view,SLOT(resizeColumnsToContents()));
  connect(dialog.data(),SIGNAL(executed()),view,SLOT(resizeRowsToContents()));

  selectionModel->select(model->index(pbPosition->property("wallPosition").toInt(),0),
                         QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows);
  view->scrollTo(model->index(pbPosition->property("wallPosition").toInt(),0));
  if (dialog->exec() == QDialog::Accepted)
  {
    Wally::Application::Position p = static_cast<Wally::Application::Position> (selectionModel->currentIndex().row());
    pbPosition->setProperty("wallPosition",static_cast<int> (p));
    pbPosition->setText(positionToString(p).replace("&","&&"));
    settingsModified();
  }
}
Exemplo n.º 19
0
void PreferencesSearchPageWidget::editSearchEngine()
{
	const QModelIndex index(m_ui->searchViewWidget->getIndex(m_ui->searchViewWidget->getCurrentRow(), 0));
	const QString identifier(index.data(IdentifierRole).toString());

	if (identifier.isEmpty() || !m_searchEngines.contains(identifier))
	{
		return;
	}

	const QStringList keywords(getKeywords(m_ui->searchViewWidget->getSourceModel(), m_ui->searchViewWidget->getCurrentRow()));
	SearchEnginePropertiesDialog dialog(m_searchEngines[identifier].second, keywords, this);

	if (dialog.exec() == QDialog::Rejected)
	{
		return;
	}

	SearchEnginesManager::SearchEngineDefinition searchEngine(dialog.getSearchEngine());

	if (keywords.contains(searchEngine.keyword))
	{
		searchEngine.keyword.clear();
	}

	m_searchEngines[identifier] = {true, searchEngine};

	m_ui->searchViewWidget->setData(index, searchEngine.title, Qt::DisplayRole);
	m_ui->searchViewWidget->setData(index, searchEngine.title, Qt::ToolTipRole);
	m_ui->searchViewWidget->setData(m_ui->searchViewWidget->getIndex(index.row(), 1), searchEngine.keyword, Qt::DisplayRole);
	m_ui->searchViewWidget->setData(m_ui->searchViewWidget->getIndex(index.row(), 1), searchEngine.keyword, Qt::ToolTipRole);

	if (searchEngine.icon.isNull())
	{
		m_ui->searchViewWidget->setData(index, QColor(Qt::transparent), Qt::DecorationRole);
	}
	else
	{
		m_ui->searchViewWidget->setData(index, searchEngine.icon, Qt::DecorationRole);
	}

	emit settingsModified();
}
Exemplo n.º 20
0
LauncherConfig::LauncherConfig(KConfigDialog *parent)
    : QWidget(parent)
{
    connect(parent, SIGNAL(applyClicked()), SLOT(save()));
    connect(parent, SIGNAL(okClicked()), SLOT(save()));
    parent->addPage(this, i18n("Launcher Matching Rules"), "fork");

    ui.setupUi(this);
    ui.add->setIcon(KIcon("list-add"));
    ui.edit->setIcon(KIcon("document-edit"));
    ui.remove->setIcon(KIcon("list-remove"));
    ui.edit->setEnabled(false);
    ui.remove->setEnabled(false);
    connect(ui.add, SIGNAL(clicked(bool)), SLOT(add()));
    connect(ui.edit, SIGNAL(clicked(bool)), SLOT(edit()));
    connect(ui.remove, SIGNAL(clicked(bool)), SLOT(remove()));
    connect(ui.view, SIGNAL(itemSelectionChanged()), SLOT(selectionChanged()));
    connect(this, SIGNAL(modified()), parent, SLOT(settingsModified()));
    connect(ui.label, SIGNAL(leftClickedUrl(const QString&)), SLOT(showMoreInfo()));
    load();
}
void PreferencesSearchPageWidget::readdSearchEngine(QAction *action)
{
	if (!action || action->data().isNull())
	{
		return;
	}

	const QString identifier = action->data().toString();
	QFile file(SessionsManager::getReadableDataPath(QLatin1String("searches/") + identifier + QLatin1String(".xml")));

	if (!file.open(QIODevice::ReadOnly))
	{
		return;
	}

	const SearchInformation engine = SearchesManager::loadSearchEngine(&file, identifier);

	file.close();

	if (engine.identifier.isEmpty() || m_searchEngines.contains(identifier))
	{
		return;
	}

	m_searchEngines[identifier] = qMakePair(false, engine);

	QList<QStandardItem*> items;
	items.append(new QStandardItem(engine.icon, engine.title));
	items[0]->setToolTip(engine.description);
	items[0]->setData(identifier, Qt::UserRole);
	items[0]->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDragEnabled);
	items.append(new QStandardItem(engine.keyword));
	items[1]->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDragEnabled);

	m_ui->searchViewWidget->insertRow(items);

	updateReaddSearchMenu();

	emit settingsModified();
}
Exemplo n.º 22
0
void DateTimeGroup::createConfigurationInterface(KConfigDialog *parent)
{
	QWidget *widget = new QWidget();
	ui.setupUi(widget);
	parent->addPage(widget, i18n("Appearance"), "view-media-visualization");

	ui.localTime->setChecked(m_local);
	ui.natoOperation->setChecked(m_natoOperation);
	
	ui.plainDateTimeGroupFontBold->setChecked(m_plainDateTimeGroupFont.bold());
	ui.plainDateTimeGroupFontItalic->setChecked(m_plainDateTimeGroupFont.italic());
	ui.plainDateTimeGroupFont->setCurrentFont(m_plainDateTimeGroupFont);
	ui.useCustomColor->setChecked(m_useCustomColor);
	
	ui.plainDateTimeGroupColor->setColor(m_plainDateTimeGroupColor);
	ui.drawShadow->setChecked(m_drawShadow);
	ui.useCustomShadowColor->setChecked(m_useCustomShadowColor);
	ui.plainDateTimeGroupShadowColor->setColor(m_plainDateTimeGroupShadowColor);
	ui.drawShadow->setChecked(m_drawShadow);
	ui.sAfterDay->setChecked(m_sAfterDay);
	
	ui.sAfterHour->setChecked(m_sAfterHour);
	ui.sAfterMinute->setChecked(m_sAfterMinute);
	ui.sAfterSecond->setChecked(m_sAfterSecond);
	ui.sAfterMonth->setChecked(m_sAfterMonth);
	ui.sAfterTimeZone->setChecked(m_sAfterTimeZone);
	
	switch(m_format){
		case 1:ui.shortFormat->setChecked(true); 
			configSpaceForShort(true);
			break;
		case 2:ui.longFormat->setChecked(true); 
			configSpaceForLong(true);
			break;
		default:ui.stanFormat->setChecked(true);
			configSpaceForStan(true);
	}
	
	QWidget *widgettz = new QWidget();
	timezonesUi.setupUi(widgettz);
	timezonesUi.searchLine->addTreeWidget(timezonesUi.timeZones);
	timezonesUi.fullLetters->setChecked(m_rounded);
	emit timezonesUi.timeZones->hideColumn(4);
	emit timezonesUi.timeZones->toggleLetters(m_rounded);
	parent->addPage(widgettz, i18n("Time Zones"), "preferences-desktop-locale");
	
	connect(ui.drawShadow, SIGNAL(toggled(bool)), this, SLOT(configDrawShadowToggled(bool)));
	connect(ui.natoOperation, SIGNAL(toggled(bool)), this, SLOT(configSpecialZonesToggle()));
	connect(timezonesUi.fullLetters, SIGNAL(toggled(bool)), timezonesUi.timeZones, SLOT(toggleLetters(bool)));
	connect(ui.localTime, SIGNAL(toggled(bool)), this, SLOT(configSpecialZonesToggle()));
	connect(ui.longFormat, SIGNAL(toggled(bool)), this, SLOT(configSpaceForLong(bool)));
	connect(ui.shortFormat, SIGNAL(toggled(bool)), this, SLOT(configSpaceForShort(bool)));
	connect(ui.stanFormat, SIGNAL(toggled(bool)), this, SLOT(configSpaceForStan(bool)));
	connect(timezonesUi.timeZones, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(uncheckTimeBoxes()));

	configDrawShadowToggled(m_drawShadow);
	configSpecialZonesToggle();
	
	connect(timezonesUi.timeZones, SIGNAL(itemClicked(QTreeWidgetItem*,int)), parent, SLOT(settingsModified()));
	connect(ui.plainDateTimeGroupFont, SIGNAL(currentFontChanged(QFont)),parent, SLOT(settingsModified()));
	connect(ui.plainDateTimeGroupFontBold, SIGNAL(stateChanged(int)),parent, SLOT(settingsModified()));
	connect(ui.plainDateTimeGroupFontItalic, SIGNAL(stateChanged(int)),parent, SLOT(settingsModified()));
	connect(ui.useCustomColor, SIGNAL(stateChanged(int)),parent, SLOT(settingsModified()));
	
	connect(ui.plainDateTimeGroupColor, SIGNAL(changed(QColor)),parent, SLOT(settingsModified()));
	connect(ui.drawShadow, SIGNAL(stateChanged(int)),parent, SLOT(settingsModified()));
	connect(ui.useCustomShadowColor, SIGNAL(stateChanged(int)),parent, SLOT(settingsModified()));
	connect(ui.plainDateTimeGroupShadowColor, SIGNAL(changed(QColor)), parent, SLOT(settingsModified()));
	connect(ui.natoOperation, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	
	connect(ui.localTime, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	connect(ui.shortFormat, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
	connect(ui.stanFormat, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
	connect(ui.longFormat, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
	connect(ui.sAfterDay, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	
	connect(ui.sAfterHour, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	connect(ui.sAfterMinute, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	connect(ui.sAfterSecond, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	connect(ui.sAfterTimeZone, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	connect(ui.sAfterMonth, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
	connect(timezonesUi.fullLetters, SIGNAL(stateChanged(int)), parent, SLOT(settingsModified()));
}
Exemplo n.º 23
0
void KdeObservatory::createConfigurationInterface(KConfigDialog *parent)
{
    m_configGeneral = new KdeObservatoryConfigGeneral(parent);
    parent->addPage(m_configGeneral, i18nc("Global configuration options", "General"), "applications-development");

    m_configProjects = new KdeObservatoryConfigProjects(parent);
    parent->addPage(m_configProjects, i18n("Projects"), "project-development");

    m_configViews = new KdeObservatoryConfigViews(parent);
    m_configViews->m_projects = m_projects;
    m_configViews->m_projectsInView[i18n("Top Active Projects")] = m_topActiveProjectsViewProjects;
    m_configViews->m_projectsInView[i18n("Top Developers")] = m_topDevelopersViewProjects;
    m_configViews->m_projectsInView[i18n("Commit History")] = m_commitHistoryViewProjects;
    m_configViews->m_projectsInView[i18n("Krazy Report")] = m_krazyReportViewProjects;
    m_configViews->updateView(i18n("Top Active Projects"));
    parent->addPage(m_configViews, i18n("Views"), "view-presentation");

    connect(m_configProjects, SIGNAL(projectAdded(QString,QString)),
            m_configViews, SLOT(projectAdded(QString,QString)));
    connect(m_configProjects, SIGNAL(projectRemoved(QString)),
            m_configViews, SLOT(projectRemoved(QString)));

    // Config - General
    if (m_activityRangeType == 0)
        m_configGeneral->activitiesFullHistory->setChecked(true);
    else if (m_activityRangeType == 1)
        m_configGeneral->activitiesInPastDays->setChecked(true);
    else
        m_configGeneral->activitiesInRange->setChecked(true);
    
    m_configGeneral->commitExtent->setValue(m_commitExtent);
    m_configGeneral->fromDate->setDate(QDate::fromString(m_commitFrom, "yyyyMMdd"));
    m_configGeneral->toDate  ->setDate(QDate::fromString(m_commitTo  , "yyyyMMdd"));
    
    m_configGeneral->enableAutoViewChange->setChecked(m_enableAutoViewChange);
    m_configGeneral->viewsDelay->setTime(QTime(m_viewsDelay/3600, (m_viewsDelay/60)%60, m_viewsDelay%60));

    int viewsCount = m_activeViews.count();
    for (int i = 0; i < viewsCount; ++i)
    {
        const QPair<QString, bool> &pair = m_activeViews.at(i);
        QListWidgetItem * item = m_configViews->activeViews->findItems(pair.first, Qt::MatchFixedString).first();
        item->setCheckState(pair.second == true ? Qt::Checked:Qt::Unchecked);
        m_configViews->activeViews->takeItem(m_configViews->activeViews->row(item));
        m_configViews->activeViews->insertItem(i, item);
    }

    // Config - Projects
    QMapIterator<QString, Project> i(m_projects);
    while (i.hasNext())
    {
        i.next();
        Project project = i.value();
        m_configProjects->createTableWidgetItem(i.key(), project.commitSubject, project.krazyReport, project.krazyFilePrefix, project.icon);
        m_configProjects->projects->setCurrentCell(0, 0);
    }

    m_configProjects->projects->setCurrentItem(m_configProjects->projects->item(0, 0));
    m_configProjects->projects->resizeColumnsToContents();
    m_configProjects->projects->horizontalHeader()->setStretchLastSection(true);

    connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
    connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
    connect(parent, SIGNAL(cancelClicked()), m_viewTransitionTimer, SLOT(start()));

    m_viewTransitionTimer->stop();

    connect(m_configGeneral->activitiesFullHistory, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
    connect(m_configGeneral->activitiesInPastDays, SIGNAL(toggled()), parent, SLOT(settingsModified()));
    connect(m_configGeneral->activitiesInRange , SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
    connect(m_configGeneral->commitExtent, SIGNAL(valueChanged(int)), parent, SLOT(settingsModified()));
    connect(m_configGeneral->fromDate, SIGNAL(dateChanged(QDate)), parent, SLOT(settingsModified()));
    connect(m_configGeneral->toDate, SIGNAL(dateChanged(QDate)), parent, SLOT(settingsModified()));
    connect(m_configGeneral->enableAutoViewChange, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
    connect(m_configGeneral->viewsDelay, SIGNAL(dateTimeChanged(QDateTime)), parent, SLOT(settingsModified()));

    connect(m_configProjects, SIGNAL(projectAdded(QString,QString)), parent, SLOT(settingsModified()));
    connect(m_configProjects, SIGNAL(projectRemoved(QString)), parent, SLOT(settingsModified()));
    connect(m_configProjects->projects, SIGNAL(cellChanged(int,int)), parent, SLOT(settingsModified()));
    connect(m_configProjects, SIGNAL(projectEdited(QString)) , parent, SLOT(settingsModified()));

    connect(m_configViews->activeViews, SIGNAL(itemChanged(QListWidgetItem*)), parent, SLOT(settingsModified()));
    connect(m_configViews->tlbUp, SIGNAL(clicked(bool)), parent, SLOT(settingsModified()));
    connect(m_configViews->tlbDown, SIGNAL(clicked(bool)), parent, SLOT(settingsModified()));
    connect(m_configViews->views, SIGNAL(currentIndexChanged(int)), parent, SLOT(settingsModified()));
    connect(m_configViews->projectsInView, SIGNAL(itemChanged(QListWidgetItem*)), parent, SLOT(settingsModified()));
    connect(m_configViews->psbCheckAll, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
    connect(m_configViews->psbUncheckAll, SIGNAL(toggled(bool)), parent, SLOT(settingsModified()));
}