summaryrefslogtreecommitdiffstats
path: root/plugins/search/searchprefpage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/search/searchprefpage.cpp')
-rw-r--r--plugins/search/searchprefpage.cpp284
1 files changed, 0 insertions, 284 deletions
diff --git a/plugins/search/searchprefpage.cpp b/plugins/search/searchprefpage.cpp
deleted file mode 100644
index cc9e6d3..0000000
--- a/plugins/search/searchprefpage.cpp
+++ /dev/null
@@ -1,284 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2005 by Joris Guisson, Ivan Vasic *
- * joris.guisson@gmail.com *
- * ivasic@gmail.com *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program 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 General Public License for more details. *
- * *
- * 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., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
- ***************************************************************************/
-#include <kurl.h>
-#include <tqtooltip.h>
-#include <tqfile.h>
-#include <tdelocale.h>
-#include <tdeglobal.h>
-#include <kstandarddirs.h>
-#include <kiconloader.h>
-#include <kactivelabel.h>
-#include <kpushbutton.h>
-#include <tdelistview.h>
-#include <klineedit.h>
-#include <tdemessagebox.h>
-#include <tdeio/netaccess.h>
-#include <klineedit.h>
-
-#include <tqlabel.h>
-#include <tqcheckbox.h>
-#include <tqradiobutton.h>
-
-#include <util/constants.h>
-#include "searchprefpage.h"
-#include "searchplugin.h"
-#include "searchenginelist.h"
-#include "searchpluginsettings.h"
-
-using namespace bt;
-
-namespace kt
-{
- SearchPrefPageWidget::SearchPrefPageWidget(TQWidget *parent) : SEPreferences(parent)
- {
- TQString info = i18n("Use your web browser to search for the string %1"
- " (capital letters) on the search engine you want to add. <br> "
- "Then copy the URL in the addressbar after the search is finished, and paste it here.<br><br>Searching for %1"
- " on Google for example, will result in http://www.google.com/search?q=FOOBAR&ie=UTF-8&oe=UTF-8. <br> "
- "If you add this URL here, ktorrent can search using Google.").arg("FOOBAR").arg("FOOBAR");
- TQString info_short = i18n("Use your web browser to search for the string %1 (capital letters) "
- "on the search engine you want to add. Use the resulting URL below.").arg("FOOBAR");
- m_infoLabel->setText(info_short);
- TQToolTip::add(m_infoLabel,info);
- TQToolTip::add(m_engine_name,info);
-
- connect(btnAdd, TQT_SIGNAL(clicked()), this, TQT_SLOT(addClicked()));
- connect(btnRemove, TQT_SIGNAL(clicked()), this, TQT_SLOT(removeClicked()));
- connect(btn_add_default, TQT_SIGNAL(clicked()), this, TQT_SLOT(addDefaultClicked()));
- connect(btnRemoveAll, TQT_SIGNAL(clicked()), this, TQT_SLOT(removeAllClicked()));
-
- connect(useCustomBrowser, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(customToggled( bool )));
-
- useCustomBrowser->setChecked(SearchPluginSettings::useCustomBrowser());
- useDefaultBrowser->setChecked(SearchPluginSettings::useDefaultBrowser());
- customBrowser->setText(SearchPluginSettings::customBrowser());
-
- customBrowser->setEnabled(useCustomBrowser->isChecked());
- openExternal->setChecked(SearchPluginSettings::openInExternal());
- }
-
- void SearchPrefPageWidget::updateSearchEngines(const SearchEngineList & se)
- {
- m_engines->clear();
-
- for (Uint32 i = 0;i < se.getNumEngines();i++)
- {
- new TQListViewItem(m_engines,se.getEngineName(i),se.getSearchURL(i).prettyURL());
- }
- }
-
- bool SearchPrefPageWidget::apply()
- {
- saveSearchEngines();
-
- SearchPluginSettings::setUseCustomBrowser(useCustomBrowser->isChecked());
- SearchPluginSettings::setUseDefaultBrowser(useDefaultBrowser->isChecked());
- SearchPluginSettings::setCustomBrowser(customBrowser->text());
- SearchPluginSettings::setOpenInExternal(openExternal->isChecked());
- SearchPluginSettings::writeConfig();
- return true;
- }
-
- void SearchPrefPageWidget::saveSearchEngines()
- {
- TQFile fptr(TDEGlobal::dirs()->saveLocation("data","ktorrent") + "search_engines");
- if (!fptr.open(IO_WriteOnly))
- return;
- TQTextStream out(&fptr);
- out << "# PLEASE DO NOT MODIFY THIS FILE. Use KTorrent configuration dialog for adding new search engines." << ::endl;
- out << "# SEARCH ENGINES list" << ::endl;
-
- TQListViewItemIterator itr(m_engines);
- while (itr.current())
- {
- TQListViewItem* item = itr.current();
- TQString u = item->text(1);
- TQString name = item->text(0);
- out << name.replace(" ","%20") << " " << u.replace(" ","%20") << endl;
- itr++;
- }
- }
-
- void SearchPrefPageWidget::addClicked()
- {
- if ( m_engine_url->text().isEmpty() || m_engine_name->text().isEmpty() )
- {
- KMessageBox::error(this, i18n("You must enter the search engine's name and URL"));
- }
- else if ( m_engine_url->text().contains("FOOBAR") )
- {
- KURL url = KURL::fromPathOrURL(m_engine_url->text());
- if ( !url.isValid() )
- {
- KMessageBox::error(this, i18n("Malformed URL."));
- return;
- }
-
- if (m_engines->findItem(m_engine_name->text(), 0))
- {
- KMessageBox::error(this, i18n("A search engine with the same name already exists. Please use a different name.")); return;
- }
-
- new TQListViewItem(m_engines, m_engine_name->text(), m_engine_url->text());
- m_engine_url->setText("");
- m_engine_name->setText("");
- }
- else
- {
- KMessageBox::error(this, i18n("Bad URL. You should search for FOOBAR with your Internet browser and copy/paste the exact URL here."));
- }
- }
-
- void SearchPrefPageWidget::removeClicked()
- {
- if ( m_engines->selectedItem() == 0 )
- return;
-
- TQListViewItem* item = m_engines->selectedItem();
- m_engines->takeItem(item);
- delete item;
- }
-
- void SearchPrefPageWidget::addDefaultClicked()
- {
- TQListViewItem* se = new TQListViewItem(m_engines, "isohunt.to", "http://isohunt.to/torrents/?ihq=FOOBAR");
- se = new TQListViewItem(m_engines, "mininova.org", "http://www.mininova.org/search.php?search=FOOBAR");
- se = new TQListViewItem(m_engines, "thepiratebay.se", "http://thepiratebay.se/search.php?q=FOOBAR");
- se = new TQListViewItem(m_engines, "kickass.to", "http://kickass.to/usearch/FOOBAR");
- se = new TQListViewItem(m_engines, "torrentfunk.com", "http://www.torrentfunk.com/all/torrents/FOOBAR.html");
- se = new TQListViewItem(m_engines, "yourbittorrent.com", "http://yourbittorrent.com/?q=FOOBAR");
- se = new TQListViewItem(m_engines, "torlock.com", "http://www.torlock.com/all/torrents/FOOBAR.html");
- se = new TQListViewItem(m_engines, "torrentz.eu", "http://torrentz.eu/search?f=FOOBAR");
- se = new TQListViewItem(m_engines, "torrentcrazy.com", "http://torrentcrazy.com/s/FOOBAR");
- se = new TQListViewItem(m_engines, "bitsnoop.com", "http://bitsnoop.com/search/all/FOOBAR/c/d/1/");
- se = new TQListViewItem(m_engines, "torrents.net", "http://www.torrents.net/find/FOOBAR/");
- se = new TQListViewItem(m_engines, "btmon.com", "http://www.btmon.com/torrent/?f=FOOBAR");
- }
-
- void SearchPrefPageWidget::removeAllClicked()
- {
- m_engines->clear();
- }
-
- void SearchPrefPageWidget::btnUpdate_clicked()
- {
- TQString fn = TDEGlobal::dirs()->saveLocation("data","ktorrent") + "search_engines.tmp";
- KURL source("http://www.ktorrent.org/downloads/search_engines");
-
- if (TDEIO::NetAccess::download(source,fn,NULL))
- {
- //list successfully downloaded, remove temporary file
- updateList(fn);
- saveSearchEngines();
- TDEIO::NetAccess::removeTempFile(fn);
- }
- }
-
- void SearchPrefPageWidget::updateList(TQString& source)
- {
- TQFile fptr(source);
-
- if (!fptr.open(IO_ReadOnly))
- return;
-
- TQTextStream in(&fptr);
-
- TQMap<TQString,KURL> engines;
-
- while (!in.atEnd())
- {
- TQString line = in.readLine();
-
- if(line.startsWith("#") || line.startsWith(" ") || line.isEmpty() )
- continue;
-
- TQStringList tokens = TQStringList::split(" ", line);
- TQString name = tokens[0];
- name = name.replace("%20"," ");
-
- KURL url = KURL::fromPathOrURL(tokens[1]);
- for(Uint32 i=2; i<tokens.count(); ++i)
- url.addQueryItem(tokens[i].section("=",0,0), tokens[i].section("=", 1, 1));
-
- engines.insert(name,url);
- }
-
- TQMap<TQString,KURL>::iterator i = engines.begin();
- while (i != engines.end())
- {
- TQListViewItem* item = m_engines->findItem(i.key(),0);
- // if we have found the item, replace it if not make a new one
- if (item)
- item->setText(1, i.data().prettyURL());
- else
- new TQListViewItem(m_engines,i.key(),i.data().prettyURL());
-
- i++;
- }
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////
-
-
- SearchPrefPage::SearchPrefPage(SearchPlugin* plugin)
- : PrefPageInterface(i18n("a noun", "Search"), i18n("Search Engine Options"),
- TDEGlobal::iconLoader()->loadIcon("viewmag",TDEIcon::NoGroup)), m_plugin(plugin)
- {
- widget = 0;
- }
-
-
- SearchPrefPage::~SearchPrefPage()
- {}
-
-
- bool SearchPrefPage::apply()
- {
- bool ret = widget->apply();
- if(ret)
- m_plugin->preferencesUpdated();
-
- return ret;
- }
-
- void SearchPrefPage::createWidget(TQWidget* parent)
- {
- widget = new SearchPrefPageWidget(parent);
- }
-
- void SearchPrefPage::deleteWidget()
- {
- delete widget;
- }
-
- void SearchPrefPage::updateData()
- {
- widget->updateSearchEngines(m_plugin->getSearchEngineList());
-
- }
-
- void SearchPrefPageWidget::customToggled(bool toggled)
- {
- customBrowser->setEnabled(toggled);
- }
-}
-
-#include "searchprefpage.moc"