summaryrefslogtreecommitdiffstats
path: root/kdeui/tests/kcompletiontest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/tests/kcompletiontest.cpp')
-rw-r--r--kdeui/tests/kcompletiontest.cpp198
1 files changed, 198 insertions, 0 deletions
diff --git a/kdeui/tests/kcompletiontest.cpp b/kdeui/tests/kcompletiontest.cpp
new file mode 100644
index 000000000..e04fdfc22
--- /dev/null
+++ b/kdeui/tests/kcompletiontest.cpp
@@ -0,0 +1,198 @@
+#include <klocale.h>
+/****************************************************************************
+** Form implementation generated from reading ui file './kcompletiontest.ui'
+**
+** Created: Wed Nov 15 20:15:10 2000
+** by: The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#include "kcompletiontest.h"
+
+#include <qgroupbox.h>
+#include <qlabel.h>
+#include <qlistbox.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qvariant.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+#include <kapplication.h>
+#include <klineedit.h>
+#include <kcombobox.h>
+/*
+ * Constructs a Form1 which is a child of 'parent', with the
+ * name 'name' and widget flags set to 'f'
+ */
+Form1::Form1( QWidget* parent, const char* name )
+ : QWidget( parent, name, WDestructiveClose )
+{
+ if ( !name )
+ setName( "Form1" );
+ resize( 559, 465 );
+ setCaption( "Form1" );
+ Form1Layout = new QVBoxLayout( this );
+ Form1Layout->setSpacing( 6 );
+ Form1Layout->setMargin( 11 );
+
+ GroupBox1 = new QGroupBox( this, "GroupBox1" );
+ GroupBox1->setTitle( "Completion Test" );
+ GroupBox1->setColumnLayout(0, Qt::Vertical );
+ GroupBox1->layout()->setSpacing( 0 );
+ GroupBox1->layout()->setMargin( 0 );
+ GroupBox1Layout = new QVBoxLayout( GroupBox1->layout() );
+ GroupBox1Layout->setAlignment( Qt::AlignTop );
+ GroupBox1Layout->setSpacing( 6 );
+ GroupBox1Layout->setMargin( 11 );
+
+ Layout9 = new QVBoxLayout;
+ Layout9->setSpacing( 6 );
+ Layout9->setMargin( 0 );
+
+ Layout1 = new QHBoxLayout;
+ Layout1->setSpacing( 6 );
+ Layout1->setMargin( 0 );
+
+ TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
+ TextLabel1->setText( "Completion" );
+ Layout1->addWidget( TextLabel1 );
+
+ edit = new KLineEdit( GroupBox1, "edit" );
+ Layout1->addWidget( edit );
+ Layout9->addLayout( Layout1 );
+ edit->completionObject()->setItems( defaultItems() );
+ edit->completionObject()->setIgnoreCase( true );
+ edit->setFocus();
+ QToolTip::add( edit, "right-click to change completion mode" );
+
+ Layout2 = new QHBoxLayout;
+ Layout2->setSpacing( 6 );
+ Layout2->setMargin( 0 );
+
+ combo = new KHistoryCombo( GroupBox1, "history combo" );
+ combo->setCompletionObject( edit->completionObject() );
+ // combo->setMaxCount( 5 );
+ combo->setHistoryItems( defaultItems(), true );
+ connect( combo, SIGNAL( activated( const QString& )),
+ combo, SLOT( addToHistory( const QString& )));
+ QToolTip::add( combo, "KHistoryCombo" );
+ Layout2->addWidget( combo );
+
+ LineEdit1 = new KLineEdit( GroupBox1, "LineEdit1" );
+ Layout2->addWidget( LineEdit1 );
+
+ PushButton1 = new QPushButton( GroupBox1, "PushButton1" );
+ PushButton1->setText( "Add" );
+ connect( PushButton1, SIGNAL( clicked() ), SLOT( slotAdd() ));
+ Layout2->addWidget( PushButton1 );
+ Layout9->addLayout( Layout2 );
+
+ Layout3 = new QHBoxLayout;
+ Layout3->setSpacing( 6 );
+ Layout3->setMargin( 0 );
+ QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ Layout3->addItem( spacer );
+
+ PushButton1_4 = new QPushButton( GroupBox1, "PushButton1_4" );
+ PushButton1_4->setText( "Remove" );
+ connect( PushButton1_4, SIGNAL( clicked() ), SLOT( slotRemove() ));
+ Layout3->addWidget( PushButton1_4 );
+ Layout9->addLayout( Layout3 );
+
+ Layout8 = new QHBoxLayout;
+ Layout8->setSpacing( 6 );
+ Layout8->setMargin( 0 );
+
+ ListBox1 = new QListBox( GroupBox1, "ListBox1" );
+ Layout8->addWidget( ListBox1 );
+ connect( ListBox1, SIGNAL( highlighted( const QString& )),
+ SLOT( slotHighlighted( const QString& )));
+ QToolTip::add( ListBox1, "Contains the contents of the completion object.\n:x is the weighting, i.e. how often an item has been inserted");
+
+ Layout7 = new QVBoxLayout;
+ Layout7->setSpacing( 6 );
+ Layout7->setMargin( 0 );
+
+ PushButton1_3 = new QPushButton( GroupBox1, "PushButton1_3" );
+ PushButton1_3->setText( "Completion items" );
+ connect( PushButton1_3, SIGNAL( clicked() ), SLOT( slotList() ));
+ Layout7->addWidget( PushButton1_3 );
+
+ PushButton1_2 = new QPushButton( GroupBox1, "PushButton1_2" );
+ PushButton1_2->setText( "Clear" );
+ connect( PushButton1_2, SIGNAL( clicked() ),
+ edit->completionObject(), SLOT( clear() ));
+ Layout7->addWidget( PushButton1_2 );
+ Layout8->addLayout( Layout7 );
+ Layout9->addLayout( Layout8 );
+ GroupBox1Layout->addLayout( Layout9 );
+ Form1Layout->addWidget( GroupBox1 );
+
+ slotList();
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+Form1::~Form1()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+void Form1::slotAdd()
+{
+ qDebug("** adding: %s", LineEdit1->text().latin1() );
+ edit->completionObject()->addItem( LineEdit1->text() );
+
+ QStringList matches = edit->completionObject()->allMatches("S");
+ QStringList::ConstIterator it = matches.begin();
+ for ( ; it != matches.end(); ++it )
+ qDebug("-- %s", (*it).latin1());
+}
+
+void Form1::slotRemove()
+{
+ edit->completionObject()->removeItem( LineEdit1->text() );
+}
+
+void Form1::slotList()
+{
+ ListBox1->clear();
+ QStringList items = edit->completionObject()->items();
+ ListBox1->insertStringList( items );
+}
+
+void Form1::slotHighlighted( const QString& text )
+{
+ // remove any "weighting"
+ int index = text.findRev( ':' );
+ if ( index > 0 )
+ LineEdit1->setText( text.left( index ) );
+ else
+ LineEdit1->setText( text );
+}
+
+
+QStringList Form1::defaultItems() const
+{
+ QStringList items;
+ items << "Super" << "Sushi" << "Samson" << "Sucks" << "Sumo" << "Schumi";
+ items << "Slashdot" << "sUpEr" << "SUshi" << "sUshi" << "sUShi";
+ items << "sushI" << "SushI";
+ return items;
+}
+
+
+int main(int argc, char **argv )
+{
+ KApplication app( argc, argv, "kcompletiontest" );
+
+ Form1 *form = new Form1();
+ form->show();
+
+ return app.exec();
+}
+
+
+#include "kcompletiontest.moc"