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.
105 lines
3.5 KiB
105 lines
3.5 KiB
/***************************************************************************
|
|
* tdeio-locate: KDE I/O Slave for the locate command *
|
|
* *
|
|
* Copyright (C) 2005 by Tobi Vollebregt *
|
|
* tobivollebregt@gmail.com *
|
|
* *
|
|
* Thanks to Google's Summer Of Code Program! *
|
|
* *
|
|
* Copyright (C) 2004 by Armin Straub *
|
|
* linux@arminstraub.de *
|
|
* *
|
|
* This program was initially written by Michael Schuerig. *
|
|
* Although I have completely rewritten it, most ideas are adopted *
|
|
* from his original work. *
|
|
* *
|
|
* Copyright (C) 2002 by Michael Schuerig *
|
|
* michael@schuerig.de *
|
|
* *
|
|
* *
|
|
* 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. *
|
|
***************************************************************************/
|
|
|
|
#ifndef LOCATER_H
|
|
#define LOCATER_H
|
|
|
|
#include <tqobject.h>
|
|
#include <tqstringlist.h>
|
|
|
|
#include <kprocio.h>
|
|
|
|
|
|
#define DEBUGSTR kdDebug(7199)
|
|
|
|
|
|
/**
|
|
* Interface to the locate command.
|
|
*
|
|
* Usage is very simple:
|
|
* - Calling locate searches for the given pattern.
|
|
* - You can then collect the found files by connecting to the signal
|
|
* found.
|
|
* - When finished the signal finished is emitted.
|
|
*/
|
|
class Locater : public TQObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/**
|
|
* Constructor
|
|
*/
|
|
Locater(TQObject *parent = 0, const char *name = 0);
|
|
|
|
virtual ~Locater();
|
|
|
|
/**
|
|
* Starts the search.
|
|
* @param pattern the pattern to search for
|
|
* @param ignoreCase whether to ignore case or not
|
|
* @param regExp whether to treat pattern as a regular expression or not
|
|
* @return true if locate could be started
|
|
*/
|
|
bool locate(const TQString& pattern, bool ignoreCase = false, bool regExp = false);
|
|
|
|
/**
|
|
* Set parameters for using locate.
|
|
* @param binary the binary to use (default: automatically chosen from
|
|
* slocate, rlocate and locate)
|
|
* @param additionalArguments additional arguments to use
|
|
*/
|
|
void setupLocate(const TQString& binary = "", const TQString& additionalArguments = "");
|
|
|
|
void stop();
|
|
|
|
TQString binary() { return m_binary; }
|
|
bool binaryExists() { return m_binaryExists; }
|
|
|
|
signals:
|
|
/**
|
|
* Emitted whenever some new files are found.
|
|
* @param items a list of the new filenames
|
|
*/
|
|
void found(const TQStringList& items);
|
|
|
|
/**
|
|
* Emitted when the search is finished.
|
|
*/
|
|
void finished();
|
|
|
|
private slots:
|
|
void gotOutput(KProcIO* proc);
|
|
void finished(TDEProcess* proc);
|
|
|
|
private:
|
|
KProcIO m_process;
|
|
TQString m_binary;
|
|
TQString m_additionalArguments;
|
|
bool m_binaryExists;
|
|
};
|
|
|
|
#endif
|