diff options
Diffstat (limited to 'kexi/tests/gui/finddialog')
-rw-r--r-- | kexi/tests/gui/finddialog/finddialog.pro | 18 | ||||
-rw-r--r-- | kexi/tests/gui/finddialog/kexifinddialog.cpp | 67 | ||||
-rw-r--r-- | kexi/tests/gui/finddialog/kexifinddialog.h | 66 | ||||
-rw-r--r-- | kexi/tests/gui/finddialog/kexifinddialogbase.ui | 326 | ||||
-rw-r--r-- | kexi/tests/gui/finddialog/main.cpp | 36 |
5 files changed, 513 insertions, 0 deletions
diff --git a/kexi/tests/gui/finddialog/finddialog.pro b/kexi/tests/gui/finddialog/finddialog.pro new file mode 100644 index 00000000..f76b5372 --- /dev/null +++ b/kexi/tests/gui/finddialog/finddialog.pro @@ -0,0 +1,18 @@ +TEMPLATE = app + +include( $(KEXI)/common.pro ) + +CONFIG += qt warn_on release +DEPENDPATH = ../../include + +system( bash kmoc ) + +TARGET = finddialogtest +DESTDIR=. + +system( bash kmoc ) +system( bash kdcopidl ) + +SOURCES = kexifinddialog.cpp main.cpp + +FORMS = kexifinddialogbase.ui diff --git a/kexi/tests/gui/finddialog/kexifinddialog.cpp b/kexi/tests/gui/finddialog/kexifinddialog.cpp new file mode 100644 index 00000000..64f54d51 --- /dev/null +++ b/kexi/tests/gui/finddialog/kexifinddialog.cpp @@ -0,0 +1,67 @@ +/* This file is part of the KDE project + Copyright (C) 2004 Jaroslaw Staniek <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#include "kexifinddialog.h" + +#include <kstdguiitem.h> +#include <kpushbutton.h> +#include <kcombobox.h> +#include <klocale.h> + +#include <qcheckbox.h> +#include <qlabel.h> + +KexiFindDialog::KexiFindDialog( bool replaceMode, QWidget* parent, const char* name, bool modal ) + : KexiFindDialogBase(parent, name, modal) + , m_replaceMode(true) +{ + m_btnFind->setIconSet(KStdGuiItem::find().iconSet()); + m_btnClose->setIconSet(KStdGuiItem::close().iconSet()); + setReplaceMode(replaceMode); + m_lookIn->insertItem(i18n("(All columns)")); +} + +void KexiFindDialog::setReplaceMode(bool set) +{ + if (m_replaceMode == set) + return; + m_replaceMode = set; + if (m_replaceMode) { + m_promptOnReplace->show(); + m_replaceLbl->show(); + m_textToReplace->show(); + m_btnReplace->show(); + m_btnReplaceAll->show(); + } + else { + m_promptOnReplace->hide(); + m_replaceLbl->hide(); + m_textToReplace->hide(); + m_btnReplace->hide(); + m_btnReplaceAll->hide(); + resize(width(),height()-30); + } + updateGeometry(); +} + +KexiFindDialog::~KexiFindDialog() +{ +} + +#include "kexifinddialog.moc" diff --git a/kexi/tests/gui/finddialog/kexifinddialog.h b/kexi/tests/gui/finddialog/kexifinddialog.h new file mode 100644 index 00000000..9025d152 --- /dev/null +++ b/kexi/tests/gui/finddialog/kexifinddialog.h @@ -0,0 +1,66 @@ +/* This file is part of the KDE project + Copyright (C) 2004 Jaroslaw Staniek <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#ifndef KEXIFINDDIALOG_H +#define KEXIFINDDIALOG_H + +#include "kexifinddialogbase.h" + +/*! @brief A Kexi-specific "Find text" dialog. + + Also used for replace. +*/ +class KexiFindDialog : public KexiFindDialogBase +{ + Q_OBJECT + public: + KexiFindDialog( bool replaceMode, QWidget* parent = 0, const char* name = 0, bool modal = FALSE ); + virtual ~KexiFindDialog(); + +#if 0 +TODO TODO TODO TODO TODO TODO + /*! Sets \a columnNames list for 'look in column' combo box. + "(All columns)" item is also prepended. */ + void setLookInColumnList(const QStringList& columnNames); + + /*! \return a list for 'look in column' combo box. + "(All columns)" item is also prepended. */ + QStringList* lookInColumnList() const; + + /*! \return column name selected in 'look in column' combo box. + If "(All columns)" item is selected, "*" is returned. */ + QString lookInColumn() const; + + /*! Selects \a columnName to be selected 'look in column'. + By default "(All columns)" item is selected. To select this item, pass "*". */ + void setLookInColumn(const QString& columnName); + +#endif + + public slots: + /*! Sets or clears replace mode. + For replace mode 'prompt or replace' option is visible. + */ + void setReplaceMode(bool set); + + protected: + bool m_replaceMode : 1; +}; + +#endif diff --git a/kexi/tests/gui/finddialog/kexifinddialogbase.ui b/kexi/tests/gui/finddialog/kexifinddialogbase.ui new file mode 100644 index 00000000..f4684bff --- /dev/null +++ b/kexi/tests/gui/finddialog/kexifinddialogbase.ui @@ -0,0 +1,326 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KexiFindDialogBase</class> +<widget class="QDialog"> + <property name="name"> + <cstring>KexiFindDialogBase</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>476</width> + <height>224</height> + </rect> + </property> + <property name="caption"> + <string>Find Text</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KHistoryCombo" row="1" column="1" rowspan="1" colspan="3"> + <property name="name"> + <cstring>m_textToReplace</cstring> + </property> + <property name="insertionPolicy"> + <enum>AtTop</enum> + </property> + <property name="autoCompletion"> + <bool>true</bool> + </property> + <property name="duplicatesEnabled"> + <bool>false</bool> + </property> + </widget> + <widget class="QCheckBox" row="4" column="2"> + <property name="name"> + <cstring>m_caseSensitive</cstring> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>C&ase sensitive</string> + </property> + </widget> + <widget class="KHistoryCombo" row="0" column="1" rowspan="1" colspan="3"> + <property name="name"> + <cstring>m_textToFind</cstring> + </property> + <property name="insertionPolicy"> + <enum>AtTop</enum> + </property> + <property name="autoCompletion"> + <bool>true</bool> + </property> + <property name="duplicatesEnabled"> + <bool>false</bool> + </property> + </widget> + <widget class="KComboBox" row="4" column="1"> + <item> + <property name="text"> + <string>Any Part of Field</string> + </property> + </item> + <item> + <property name="text"> + <string>Whole Field</string> + </property> + </item> + <item> + <property name="text"> + <string>Start of Field</string> + </property> + </item> + <property name="name"> + <cstring>m_match</cstring> + </property> + <property name="insertionPolicy"> + <enum>NoInsertion</enum> + </property> + </widget> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>Fi&nd:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>m_textToFind</cstring> + </property> + </widget> + <widget class="QLabel" row="1" column="0"> + <property name="name"> + <cstring>m_replaceLbl</cstring> + </property> + <property name="text"> + <string>Re&place with:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>m_textToReplace</cstring> + </property> + </widget> + <widget class="QLabel" row="3" column="0"> + <property name="name"> + <cstring>textLabel2_2_2</cstring> + </property> + <property name="text"> + <string>&Search:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>m_search</cstring> + </property> + </widget> + <widget class="QLabel" row="4" column="0"> + <property name="name"> + <cstring>textLabel2_2_3</cstring> + </property> + <property name="text"> + <string>&Match:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>m_match</cstring> + </property> + </widget> + <widget class="KComboBox" row="3" column="1"> + <item> + <property name="text"> + <string>Up</string> + </property> + </item> + <item> + <property name="text"> + <string>Down</string> + </property> + </item> + <item> + <property name="text"> + <string>All Rows</string> + </property> + </item> + <property name="name"> + <cstring>m_search</cstring> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="insertionPolicy"> + <enum>NoInsertion</enum> + </property> + </widget> + <widget class="KComboBox" row="2" column="1"> + <property name="name"> + <cstring>m_lookIn</cstring> + </property> + <property name="insertionPolicy"> + <enum>NoInsertion</enum> + </property> + </widget> + <widget class="QLabel" row="2" column="0"> + <property name="name"> + <cstring>textLabel2_2</cstring> + </property> + <property name="text"> + <string>&Look in column:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>m_lookIn</cstring> + </property> + </widget> + <spacer row="4" column="3"> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QCheckBox" row="5" column="2"> + <property name="name"> + <cstring>m_wholeWords</cstring> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>&Whole words only</string> + </property> + </widget> + <widget class="QCheckBox" row="6" column="2"> + <property name="name"> + <cstring>m_promptOnReplace</cstring> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Prompt on replace</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + <spacer row="7" column="2"> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="0" column="4" rowspan="8" colspan="1"> + <property name="name"> + <cstring>layout2</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KPushButton"> + <property name="name"> + <cstring>m_btnFind</cstring> + </property> + <property name="text"> + <string>&Find Next</string> + </property> + </widget> + <widget class="KPushButton"> + <property name="name"> + <cstring>m_btnClose</cstring> + </property> + <property name="text"> + <string>Close</string> + </property> + </widget> + <widget class="KPushButton"> + <property name="name"> + <cstring>m_btnReplace</cstring> + </property> + <property name="text"> + <string>&Replace</string> + </property> + </widget> + <widget class="KPushButton"> + <property name="name"> + <cstring>m_btnReplaceAll</cstring> + </property> + <property name="text"> + <string>&Replace All</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer8</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </vbox> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<connections> + <connection> + <sender>m_btnClose</sender> + <signal>clicked()</signal> + <receiver>KexiFindDialogBase</receiver> + <slot>reject()</slot> + </connection> +</connections> +<tabstops> + <tabstop>m_textToFind</tabstop> + <tabstop>m_textToReplace</tabstop> + <tabstop>m_lookIn</tabstop> + <tabstop>m_search</tabstop> + <tabstop>m_match</tabstop> + <tabstop>m_caseSensitive</tabstop> + <tabstop>m_wholeWords</tabstop> +</tabstops> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kcombobox.h</includehint> + <includehint>klineedit.h</includehint> + <includehint>kcombobox.h</includehint> + <includehint>klineedit.h</includehint> + <includehint>kcombobox.h</includehint> + <includehint>kcombobox.h</includehint> + <includehint>kcombobox.h</includehint> + <includehint>kpushbutton.h</includehint> + <includehint>kpushbutton.h</includehint> + <includehint>kpushbutton.h</includehint> + <includehint>kpushbutton.h</includehint> +</includehints> +</UI> diff --git a/kexi/tests/gui/finddialog/main.cpp b/kexi/tests/gui/finddialog/main.cpp new file mode 100644 index 00000000..7da98bf4 --- /dev/null +++ b/kexi/tests/gui/finddialog/main.cpp @@ -0,0 +1,36 @@ +/* This file is part of the KDE project + Copyright (C) 2004 Jaroslaw Staniek <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#include <kapplication.h> +#include <klocale.h> +#include <kaboutdata.h> +#include <kcmdlineargs.h> + +#include "kexifinddialog.h" + +int main( int argc, char ** argv ) +{ + KAboutData aboutData( "test", I18N_NOOP("KFind"), "0", "", KAboutData::License_LGPL ); + KCmdLineArgs::init( argc, argv, &aboutData ); + KApplication app; + + KexiFindDialog dlg(true, 0, "dialog"); + + return dlg.exec(); +} |