From ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kdeui/tests/kstatusbartest.cpp | 121 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 kdeui/tests/kstatusbartest.cpp (limited to 'kdeui/tests/kstatusbartest.cpp') diff --git a/kdeui/tests/kstatusbartest.cpp b/kdeui/tests/kstatusbartest.cpp new file mode 100644 index 000000000..80b92c446 --- /dev/null +++ b/kdeui/tests/kstatusbartest.cpp @@ -0,0 +1,121 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "kstatusbar.h" +#include +#include +#include +#include "kstatusbartest.h" + +testWindow::testWindow (QWidget *, const char *name) + : KMainWindow (0, name) + { + // Setup Menus + menuBar = new KMenuBar (this); + fileMenu = new QPopupMenu; + menuBar->insertItem ("&File", fileMenu); + fileMenu->insertItem ("&Exit", KApplication::kApplication(), + SLOT( quit() ), ALT + Key_Q ); + statusbar = new KStatusBar (this); + statusbar->insertItem("Zoom: XXXX", 0); + statusbar->insertItem("XXX", 1); + statusbar->insertItem("Line: XXXXX", 2); + + statusbar->changeItem("Zoom: 100%", 0); + statusbar->changeItem("INS", 1); + insert = true; + statusbar->changeItem("Line: 13567", 2); + + connect (statusbar, SIGNAL(pressed(int)), this, SLOT(slotPress(int))); + connect (statusbar, SIGNAL(released(int)), this, SLOT(slotClick(int))); + + widget = new QMultiLineEdit (this); + + setCentralWidget(widget); + + setCaption( KApplication::kApplication()->caption() ); + + smenu = new QPopupMenu; + + smenu->insertItem("50%"); + smenu->insertItem("75%"); + smenu->insertItem("100%"); + smenu->insertItem("150%"); + smenu->insertItem("200%"); + smenu->insertItem("400%"); + smenu->insertItem("oo%"); + + connect (smenu, SIGNAL(activated(int)), this, SLOT(slotMenu(int))); +} + +void testWindow::slotClick(int id) +{ + switch (id) + { + case 0: + break; + + case 1: + if (insert == true) + { + insert = false; + statusbar->changeItem("OVR", 1); + } + else + { + insert = true; + statusbar->changeItem("INS", 1); + } + break; + + case 2: + QMessageBox::information(0, "Go to line", "Enter line number:", "where?"); + statusbar->changeItem("16543", 2); + break; + } +} + +void testWindow::slotPress(int id) +{ + if (id == 0) + smenu->popup(QCursor::pos()); // This popup should understand keys up and down +} + +void testWindow::slotMenu(int id) +{ + QString s = "Zoom: "; + s.append (smenu->text(id)); + statusbar->changeItem(s,0); +} + +testWindow::~testWindow () +{ + // I would delete toolbars here, but there are none + delete statusbar; +} + +int main( int argc, char *argv[] ) +{ + KApplication *myApp = new KApplication( argc, argv, "KStatusBarTest" ); + testWindow *test = new testWindow; + + myApp->setMainWidget(test); + test->show(); + test->resize(test->width(), test->height()); // I really really really dunno why it doesn't show + int ret = myApp->exec(); + + delete test; + + return ret; +} + +#include "kstatusbartest.moc" + -- cgit v1.2.1