}
int pos = 0;
- QRegExp rx("<table.*class=\"bg-01 entry(.*)</table>");
- QRegExp name("<div class=\"long hide\">(.*)</a>");
- QRegExp number("<td class=\"col4\">(.*)</td>");
- QRegExp address("<td class=\"col2\">(.*)</td>.*<td class=\"col3\">(.*)</td>");
+ static QRegExp rx("<table.*class=\"bg-01 entry(.*)</table>");
+ static QRegExp name("<div class=\"long hide\">(.*)</a>");
+ static QRegExp number("<td class=\"col4\">(.*)</td>");
+ static QRegExp address("<td class=\"col2\">(.*)</td>.*<td class=\"col3\">(.*)</td>");
rx.setMinimal(true);
name.setMinimal(true);
QString const& data,
int index)
{
- QRegExp name("<div class=\"long hide\">(.*) (.*)</a>");
- QRegExp number("<td class=\"col4\">(.*)</td>");
- QRegExp address("<td class=\"col2\">(.*)</td>.*<td class=\"col3\">(.*)</td>");
+ static QRegExp name("<div class=\"long hide\">(.*) (.*)</a>");
+ static QRegExp number("<td class=\"col4\">(.*)</td>");
+ static QRegExp address("<td class=\"col2\">(.*)</td>.*<td class=\"col3\">(.*)</td>");
name.setMinimal(true);
number.setMinimal(true);
address.setMinimal(true);
}
int pos = 0;
- QRegExp rx("<td valign=\"top\" width=\"99%\">(.*)</td>");
- QRegExp name("<div class=\"srln\">(.*)</div>");
- QRegExp address("<div class=\"srla\">(.*),<br/>(.*)</div>");
- QRegExp number("<div class=\"srlp\">(.*)</div>");
+ static QRegExp rx("<td valign=\"top\" width=\"99%\">(.*)</td>");
+ static QRegExp name("<div class=\"srln\">(.*)</div>");
+ static QRegExp address("<div class=\"srla\">(.*),<br/>(.*)</div>");
+ static QRegExp number("<div class=\"srlp\">(.*)</div>");
rx.setMinimal(true);
name.setMinimal(true);
address.setMinimal(true);
if(searchData->results.size() >= maxResults)
{
emitRequestFinished(searchData, false, index);
+
+ if(searchData->totalSearches > 1)
+ {
+ abort();
+ }
}
else
{
QString const& data,
int index)
{
- QRegExp name("<div class=\"srsln\">(.*)</div>");
- QRegExp number("class=\"srlttxt\"><b>(.*)</b>");
- QRegExp address("class=\"srlttxt\"><span>(.*),<br/>(.*)</span>");
+ static QRegExp name("<div class=\"srsln\">(.*)</div>");
+ static QRegExp number("class=\"srlttxt\"><b>(.*)</b>");
+ static QRegExp address("class=\"srlttxt\"><span>(.*),<br/>(.*)</span>");
name.setMinimal(true);
number.setMinimal(true);
address.setMinimal(true);
endEdit();
}
+ settings_[name] = value;
+
return returnValue;
}
QString Settings::get(QString const& name)
{
+ QMap<QString, QString>::iterator it;
+
+ if((it = settings_.find(name)) != settings_.end())
+ {
+ return it.value();
+ }
+
QString result = "";
bool close = !editing_;
endEdit();
}
+ settings_[name] = result;
+
return result;
}
#include <QtCore/QString>
#include <QtCore/QList>
+#include <QtCore/QMap>
#include <QtGui/QApplication>
class Settings;
private:
Settings();
static Settings* instance_;
+ QMap<QString, QString> settings_;
bool editing_;
};
void CallListener::search(Source::SearchDetails const& details)
{
- qDebug() << "Search called";
-
if(currentCall_)
{
delete currentCall_;
showDelayedResult(tr("Searching..."), BANNER_DELAY);
- qDebug() << "Starting to search...";
-
source_->search(details);
}
static const int BANNER_DELAY = 350;
static const int SEARCH_RETRIES = 2;
static const int CONNECT_RETRIES = 2;
- static const int CONNECTION_LOOKUP_RETRIES = 10;
+ static const int CONNECTION_LOOKUP_RETRIES = 8;
static const int GPRS_SCANS = 2;
static const int WLAN_SCANS = 5;
static const int WAIT_BETWEEN_RETRIES = 500;
}
QMap <QString, QVariant> data = list_->getData(index).toMap();
- Source::Result details;
- details.name = data["name"].toString();
- if(details.name.isEmpty())
+ if(data["name"].toString().isEmpty())
{
- return;
+ emit openSearch(data["number"].toString());
+ }
+ else
+ {
+ Source::Result details;
+ details.name = data["name"].toString();
+ details.street = data["street"].toString();
+ details.city = data["city"].toString();
+ details.number = data["number"].toString();
+ details.country = data["country"].toString();
+
+ emit logItemSelected(details);
}
-
- details.street = data["street"].toString();
- details.city = data["city"].toString();
- details.number = data["number"].toString();
- details.country = data["country"].toString();
-
- emit logItemSelected(details);
}
QWidget* LogWindow::createWidget(Cache::LogDetails const& details)
signals:
void logItemSelected(Source::Result const& result);
+ void openSearch(QString const& number);
protected:
void setVisible(bool visible);
}
-void MainWindow::openSearch()
+void MainWindow::openSearch(QString const& str)
{
Source::SourceId sourceId = Source::stringToId(Settings::instance()->get("source"));
SourceCoreConfig* config = SourceCoreConfig::getCoreConfig(sourceId);
{
searchDialog_ = new SearchDialog(this);
connect(searchDialog_, SIGNAL(search(SearchDialog::SearchDetails&)),
- this, SLOT(handleSearch(SearchDialog::SearchDetails&)));
+ this, SIGNAL(search(SearchDialog::SearchDetails&)));
if(settingsDialog_)
{
}
}
+ if(!str.isEmpty())
+ {
+ searchDialog_->setSearchString(str);
+ }
+
searchDialog_->show();
}
{
logWindow_ = new LogWindow(this);
connect(logWindow_, SIGNAL(logItemSelected(Source::Result const&)), this, SIGNAL(logItemSelected(Source::Result const&)));
+ connect(logWindow_, SIGNAL(openSearch(QString const&)), this, SLOT(openSearch(QString const&)));
}
logWindow_->show();
return button;
}
-void MainWindow::handleSearch(SearchDialog::SearchDetails& details)
-{
- emit search(details);
-}
-
void MainWindow::showAbout()
{
if(!aboutDialog_)
void showSettings();
void showAbout();
void toggleDaemon();
- void openSearch();
+ void openSearch(QString const& str = QString());
void openLog();
- void handleSearch(SearchDialog::SearchDetails& details);
private:
QToolButton* createButton(QString const& text);
}
}
+void SearchDialog::setSearchString(QString const& string)
+{
+ numberInput_->setText(string);
+}
+
void SearchDialog::loadSearchTypes()
{
selector_->clear();
public slots:
void loadSearchTypes();
+ void setSearchString(QString const& string);
private slots:
void searchPressed();