• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdenetwork API Reference
  • KDE Home
  • Contact Us
 

kget

  • sources
  • kde-4.12
  • kdenetwork
  • kget
  • transfer-plugins
  • mirrorsearch
dlgmirrorsearch.cpp
Go to the documentation of this file.
1 /* This file is part of the KDE project
2 
3  Copyright (C) 2008 Manolo Valdes <nolis71cu@gmail.com>
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 */
10 
11 #include "dlgmirrorsearch.h"
12 
13 #include "kget_export.h"
14 #include "mirrorsearchsettings.h"
15 
16 DlgEngineEditing::DlgEngineEditing(QWidget *parent)
17  : KDialog(parent)
18 {
19  QWidget *mainWidget = new QWidget(this);
20  ui.setupUi(mainWidget);
21  setMainWidget(mainWidget);
22 
23  setWindowTitle(i18n("Insert Engine"));
24  setModal(true);
25  setButtons(KDialog::Ok | KDialog::Cancel);
26  showButtonSeparator(true);
27 
28  ui.engineNameLabel->setText(i18n("Engine name:"));
29  ui.urlLabel->setText(i18n("URL:"));
30  connect(ui.urlEdit,SIGNAL(textChanged(QString)), SLOT(slotChangeText()));
31  connect(ui.engineNameEdit,SIGNAL(textChanged(QString)),SLOT(slotChangeText()));
32  slotChangeText();
33 }
34 
35 DlgEngineEditing::~DlgEngineEditing()
36 {
37 }
38 
39 void DlgEngineEditing::slotChangeText()
40 {
41  enableButton(KDialog::Ok, !ui.urlEdit->text().isEmpty());
42 }
43 
44 QString DlgEngineEditing::engineName() const
45 {
46  return ui.engineNameEdit->text();
47 }
48 
49 QString DlgEngineEditing::engineUrl() const
50 {
51  return ui.urlEdit->text();
52 }
53 
54 KGET_EXPORT_PLUGIN_CONFIG(DlgSettingsWidget)
55 
56 DlgSettingsWidget::DlgSettingsWidget(QWidget *parent, const QVariantList &args)
57  : KCModule(KGetFactory::componentData(), parent, args)
58 {
59  ui.setupUi(this);
60  ui.newEngineBt->setIcon(KIcon("list-add"));
61  ui.removeEngineBt->setIcon(KIcon("list-remove"));
62 
63  connect(ui.newEngineBt, SIGNAL(clicked()), SLOT(slotNewEngine()));
64  connect(ui.removeEngineBt, SIGNAL(clicked()), SLOT(slotRemoveEngine()));
65 }
66 
67 DlgSettingsWidget::~DlgSettingsWidget()
68 {
69 }
70 
71 void DlgSettingsWidget::slotNewEngine()
72 {
73  DlgEngineEditing dialog;
74  if(dialog.exec()) {
75  addSearchEngineItem(dialog.engineName(), dialog.engineUrl());
76  changed();
77  }
78 }
79 
80 void DlgSettingsWidget::slotRemoveEngine()
81 {
82  QList<QTreeWidgetItem *> selectedItems = ui.enginesTreeWidget->selectedItems();
83 
84  foreach(QTreeWidgetItem * selectedItem, selectedItems)
85  delete(selectedItem);
86 
87  changed();
88 }
89 
90 void DlgSettingsWidget::load()
91 {
92  loadSearchEnginesSettings();
93 }
94 
95 void DlgSettingsWidget::addSearchEngineItem(const QString &name, const QString &url)
96 {
97  ui.enginesTreeWidget->addTopLevelItem(new QTreeWidgetItem(QStringList() << name << url));
98  changed();
99 }
100 
101 void DlgSettingsWidget::loadSearchEnginesSettings()
102 {
103  ui.enginesTreeWidget->clear();//Cleanup things first
104 
105  QStringList enginesNames = MirrorSearchSettings::self()->searchEnginesNameList();
106  QStringList enginesUrls = MirrorSearchSettings::self()->searchEnginesUrlList();
107 
108  for(int i = 0; i < enginesNames.size(); i++)
109  {
110  addSearchEngineItem(enginesNames[i], enginesUrls[i]);
111  }
112 }
113 
114 void DlgSettingsWidget::saveSearchEnginesSettings()
115 {
116  QStringList enginesNames;
117  QStringList enginesUrls;
118 
119  for(int i = 0; i < ui.enginesTreeWidget->topLevelItemCount(); i++)
120  {
121  enginesNames.append(ui.enginesTreeWidget->topLevelItem(i)->text(0));
122  enginesUrls.append(ui.enginesTreeWidget->topLevelItem(i)->text(1));
123  }
124 
125  MirrorSearchSettings::self()->setSearchEnginesNameList(enginesNames);
126  MirrorSearchSettings::self()->setSearchEnginesUrlList(enginesUrls);
127 
128  MirrorSearchSettings::self()->writeConfig();
129 }
130 
131 void DlgSettingsWidget::save()
132 {
133  kDebug(5001);
134  saveSearchEnginesSettings();
135 
136  MirrorSearchSettings::self()->writeConfig();
137 }
138 
139 #include "dlgmirrorsearch.moc"
MirrorSearchSettings::setSearchEnginesNameList
static void setSearchEnginesNameList(const QStringList &v)
Set List of the available search engines.
Definition: mirrorsearchsettings.h:39
DlgSettingsWidget::save
virtual void save()
Definition: dlgmetalink.cpp:40
QWidget
dlgmirrorsearch.h
DlgEngineEditing::DlgEngineEditing
DlgEngineEditing(QWidget *parent=0)
Definition: dlgmirrorsearch.cpp:16
DlgSettingsWidget
Definition: dlgmetalink.h:19
DlgEngineEditing::engineName
QString engineName() const
Definition: dlgmirrorsearch.cpp:44
DlgSettingsWidget::~DlgSettingsWidget
~DlgSettingsWidget()
Definition: dlgmetalink.cpp:29
KDialog
DlgEngineEditing::~DlgEngineEditing
~DlgEngineEditing()
Definition: dlgmirrorsearch.cpp:35
MirrorSearchSettings::self
static MirrorSearchSettings * self()
Definition: mirrorsearchsettings.cpp:17
DlgEngineEditing::engineUrl
QString engineUrl() const
Definition: dlgmirrorsearch.cpp:49
kget_export.h
DlgEngineEditing
Definition: dlgmirrorsearch.h:19
MirrorSearchSettings::searchEnginesUrlList
static QStringList searchEnginesUrlList()
Get List of the available search engine URLs.
Definition: mirrorsearchsettings.h:68
MirrorSearchSettings::setSearchEnginesUrlList
static void setSearchEnginesUrlList(const QStringList &v)
Set List of the available search engine URLs.
Definition: mirrorsearchsettings.h:58
DlgSettingsWidget::load
virtual void load()
Definition: dlgmetalink.cpp:33
mirrorsearchsettings.h
MirrorSearchSettings::searchEnginesNameList
static QStringList searchEnginesNameList()
Get List of the available search engines.
Definition: mirrorsearchsettings.h:49
KCModule
KGET_EXPORT_PLUGIN_CONFIG
#define KGET_EXPORT_PLUGIN_CONFIG(classname)
Definition: kget_export.h:44
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:53:17 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kget

Skip menu "kget"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdenetwork API Reference

Skip menu "kdenetwork API Reference"
  • kget
  • kopete
  •   kopete
  •   libkopete
  • krdc
  • krfb

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal