mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-26 20:03:10 +00:00
83 lines
2.9 KiB
C++
83 lines
2.9 KiB
C++
/***************************************************************************
|
|
* Copyright 1999-2001 by Bernd Gehrmann and the KDevelop Team *
|
|
* bernd@kdevelop.org *
|
|
* Copyright 2007 Dukju Ahn <dukjuahn@gmail.com> *
|
|
* Copyright 2010 Julien Desgats <julien.desgats@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. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef KDEVPLATFORM_PLUGIN_GREPDIALOG_H
|
|
#define KDEVPLATFORM_PLUGIN_GREPDIALOG_H
|
|
|
|
#include <kdialog.h>
|
|
#include "ui_grepwidget.h"
|
|
|
|
class KConfig;
|
|
class KUrlRequester;
|
|
class QPushButton;
|
|
class GrepViewPlugin;
|
|
class KLineEdit;
|
|
|
|
class GrepDialog : public KDialog, private Ui::GrepWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
static const KDialog::ButtonCode SearchButton;
|
|
|
|
explicit GrepDialog( GrepViewPlugin * plugin, QWidget *parent=0 );
|
|
~GrepDialog();
|
|
|
|
void setPattern(const QString &pattern);
|
|
void setEnableProjectBox(bool enable);
|
|
|
|
QString patternString() const;
|
|
QString templateString() const;
|
|
QString replacementTemplateString() const;
|
|
QString filesString() const;
|
|
QString excludeString() const;
|
|
|
|
bool useProjectFilesFlag() const;
|
|
bool regexpFlag() const;
|
|
bool caseSensitiveFlag() const;
|
|
|
|
int depthValue() const;
|
|
|
|
void start();
|
|
|
|
public Q_SLOTS:
|
|
///Sets directory(ies)/files to search in. Also it can be semicolon separated list of directories/files or one of special strings: allOpenFilesString, allOpenProjectsString
|
|
void setSearchLocations(const QString &dir);
|
|
|
|
private Q_SLOTS:
|
|
|
|
void performAction(KDialog::ButtonCode button);
|
|
void templateTypeComboActivated(int);
|
|
void patternComboEditTextChanged( const QString& );
|
|
void directoryChanged(const QString &dir);
|
|
QMenu* createSyncButtonMenu();
|
|
void addUrlToMenu(QMenu* ret, KUrl url);
|
|
void addStringToMenu(QMenu* ret, QString string);
|
|
void synchronizeDirActionTriggered(bool);
|
|
|
|
///Opens the dialog to select a directory to search in, and inserts it into Location(s) field.
|
|
void selectDirectoryDialog();
|
|
|
|
private:
|
|
// Returns the chosen directories or files (only the top directories, not subfiles)
|
|
QList< KUrl > getDirectoryChoice() const;
|
|
// Returns whether the given url is a subfile/subdirectory of one of the chosen directories/files
|
|
// This is slow, so don't call it too often
|
|
bool isPartOfChoice(KUrl url) const;
|
|
|
|
GrepViewPlugin * m_plugin;
|
|
};
|
|
|
|
|
|
#endif
|
|
|