You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.1 KiB
101 lines
2.1 KiB
15 years ago
|
/* ============================================================
|
||
|
*
|
||
|
* This file is a part of digiKam project
|
||
|
* http://www.digikam.org
|
||
|
*
|
||
|
* Date : 2005-04-21
|
||
|
* Description : a kio-slave to process search on digiKam albums
|
||
|
*
|
||
|
* Copyright (C) 2005 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
|
||
|
*
|
||
|
* 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, 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.
|
||
|
* ============================================================ */
|
||
|
|
||
|
#ifndef DIGIKAMSEARCH_H
|
||
|
#define DIGIKAMSEARCH_H
|
||
|
|
||
|
// KDE includes.
|
||
|
|
||
11 years ago
|
#include <tdeio/slavebase.h>
|
||
15 years ago
|
|
||
|
// Local includes.
|
||
|
|
||
|
#include "sqlitedb.h"
|
||
|
|
||
13 years ago
|
class TQStringList;
|
||
15 years ago
|
|
||
12 years ago
|
class kio_digikamsearch : public TDEIO::SlaveBase
|
||
15 years ago
|
{
|
||
|
|
||
|
public:
|
||
|
|
||
|
enum SKey
|
||
|
{
|
||
|
ALBUM = 0,
|
||
|
ALBUMNAME,
|
||
|
ALBUMCAPTION,
|
||
|
ALBUMCOLLECTION,
|
||
|
TAG,
|
||
|
TAGNAME,
|
||
|
IMAGENAME,
|
||
|
IMAGECAPTION,
|
||
|
IMAGEDATE,
|
||
|
KEYWORD,
|
||
|
RATING
|
||
|
};
|
||
|
|
||
|
enum SOperator
|
||
|
{
|
||
|
EQ = 0,
|
||
|
NE,
|
||
|
LT,
|
||
|
GT,
|
||
|
LIKE,
|
||
|
NLIKE,
|
||
|
LTE,
|
||
|
GTE
|
||
|
};
|
||
|
|
||
|
public:
|
||
|
|
||
13 years ago
|
kio_digikamsearch(const TQCString &pool_socket, const TQCString &app_socket);
|
||
15 years ago
|
~kio_digikamsearch();
|
||
|
|
||
13 years ago
|
void special(const TQByteArray& data);
|
||
15 years ago
|
|
||
|
private:
|
||
|
|
||
13 years ago
|
TQString buildQuery(const KURL& url) const;
|
||
15 years ago
|
|
||
13 years ago
|
TQString subQuery(enum SKey key, enum SOperator op, const TQString& val) const;
|
||
15 years ago
|
|
||
13 years ago
|
TQString possibleDate(const TQString& str, bool& exact) const;
|
||
15 years ago
|
|
||
|
private:
|
||
|
|
||
|
class RuleType
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
SKey key;
|
||
|
SOperator op;
|
||
13 years ago
|
TQString val;
|
||
15 years ago
|
};
|
||
|
|
||
|
SqliteDB m_db;
|
||
13 years ago
|
TQString m_libraryPath;
|
||
|
TQString m_longMonths[12];
|
||
|
TQString m_shortMonths[12];
|
||
15 years ago
|
};
|
||
|
|
||
|
#endif /* DIGIKAMSEARCH_H */
|