[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdesdk/lokalize/src/tm
From: Nick Shaforostoff <shafff () ukr ! net>
Date: 2010-11-30 22:53:17
Message-ID: 20101130225317.DB590AC8A3 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1202454 by shaforo:
BUG:251747
report real result count in tab search tab
M +4 -5 jobs.cpp
M +25 -11 tmtab.cpp
M +3 -1 tmtab.h
--- trunk/KDE/kdesdk/lokalize/src/tm/jobs.cpp #1202453:1202454
@@ -1839,26 +1839,25 @@
, m_dbName(dbName)
, m_query(queryString)
{
- kWarning(TM_AREA)<<dbName<<queryString;
+ kDebug(TM_AREA)<<dbName<<queryString;
}
ExecQueryJob::~ExecQueryJob()
{
delete query;
- kWarning(TM_AREA)<<"destroy";
- std::cout<<"~ExecQueryJob"<<std::endl;
+ kDebug(TM_AREA)<<"destroy";
}
void ExecQueryJob::run()
{
QSqlDatabase db=QSqlDatabase::database(m_dbName);
- kWarning(TM_AREA)<<"running"<<m_dbName<<"db.isOpen() ="<<db.isOpen();
+ kDebug(TM_AREA)<<"running"<<m_dbName<<"db.isOpen() ="<<db.isOpen();
//temporarily:
if (!db.isOpen())
kWarning(TM_AREA)<<"db.open()="<<db.open();
query=new QSqlQuery(m_query,db);
query->exec();
- kWarning(TM_AREA)<<"done"<<query->lastError().text();
+ kDebug(TM_AREA)<<"done"<<query->lastError().text();
}
--- trunk/KDE/kdesdk/lokalize/src/tm/tmtab.cpp #1202453:1202454
@@ -1,7 +1,7 @@
-/* ****************************************************************************
+/* ****************************************************************************
This file is part of Lokalize
- Copyright (C) 2007-2009 by Nick Shaforostoff <shafff@ukr.net>
+ Copyright (C) 2007-2011 by Nick Shaforostoff <shafff@ukr.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -139,29 +139,39 @@
if (!filemask.isEmpty())
fileQuery="AND files.path GLOB '"+escapedFilemask+"' ";
+ QString fromPart="FROM main JOIN source_strings ON (source_strings.id==main.source) "
+ "JOIN target_strings ON (target_strings.id==main.target), files "
+ "WHERE files.id==main.file "
+ +sourceQuery
+ +targetQuery
+ +fileQuery;
ExecQueryJob* job=new ExecQueryJob(
"SELECT source_strings.source, target_strings.target, "
"main.ctxt, files.path, "
"source_strings.source_accel, target_strings.target_accel, main.bits "
- "FROM main JOIN source_strings ON (source_strings.id==main.source) "
- "JOIN target_strings ON (target_strings.id==main.target), files "
- "WHERE files.id==main.file "
- +sourceQuery
- +targetQuery
- +fileQuery,m_dbName);
+ +fromPart,m_dbName);
+ connect(job,SIGNAL(done(ThreadWeaver::Job*)),job,SLOT(deleteLater()));
+ connect(job,SIGNAL(done(ThreadWeaver::Job*)),this,SLOT(slotQueryExecuted(ThreadWeaver::Job*)));
+ ThreadWeaver::Weaver::instance()->enqueue(job);
+
+ job=new ExecQueryJob("SELECT count(*) "+fromPart,m_dbName);
connect(job,SIGNAL(done(ThreadWeaver::Job*)),job,SLOT(deleteLater()));
connect(job,SIGNAL(done(ThreadWeaver::Job*)),this,SLOT(slotQueryExecuted(ThreadWeaver::Job*)));
ThreadWeaver::Weaver::instance()->enqueue(job);
-
- //kWarning()<<"TEST"<<BIG_COUNTER;
}
void TMDBModel::slotQueryExecuted(ThreadWeaver::Job* j)
{
ExecQueryJob* job=static_cast<ExecQueryJob*>(j);
+ if (job->query->lastQuery().startsWith("SELECT count(*) "))
+ {
+ job->query->next();
+ emit finalResultCountFetched(job->query->value(0).toInt());
+ return;
+ }
setQuery(*(job->query));
emit resultsFetched();
}
@@ -337,6 +347,7 @@
view->setColumnHidden(TMDBModel::_Bits,true);
connect(m_model,SIGNAL(resultsFetched()),this,SLOT(handleResults()));
+ connect(m_model,SIGNAL(finalResultCountFetched(int)),this,SLOT(setTotalResultCount(int)));
QButtonGroup* btnGrp=new QButtonGroup(this);
btnGrp->addButton(ui_queryOptions->substr,(int)TMDBModel::SubStr);
@@ -468,8 +479,11 @@
}
view->setFocus();
//END resizeColumnToContents
+}
- statusBarItems.insert(1,i18nc("@info:status message entries","Total: %1",rowCount));
+void TMTab::setTotalResultCount(int count)
+{
+ statusBarItems.insert(1,i18nc("@info:status message entries","Total: %1",count));
}
static void copy(Ui_QueryOptions* ui_queryOptions, int column)
--- trunk/KDE/kdesdk/lokalize/src/tm/tmtab.h #1202453:1202454
@@ -1,4 +1,4 @@
-/* ****************************************************************************
+/* ****************************************************************************
This file is part of Lokalize
Copyright (C) 2007-2009 by Nick Shaforostoff <shafff@ukr.net>
@@ -84,6 +84,7 @@
void copyTarget();
void openFile();
void handleResults();
+ void setTotalResultCount(int);
signals:
void fileOpenRequested(const KUrl& url, const QString& source, const QString& ctxt);
@@ -153,6 +154,7 @@
signals:
void resultsFetched();
+ void finalResultCountFetched(int);
private:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic