]> git.lyx.org Git - features.git/commitdiff
make bullet configuration functional in the document settings dialog
authorEdwin Leuven <e.leuven@gmail.com>
Sun, 13 Aug 2006 15:44:05 +0000 (15:44 +0000)
committerEdwin Leuven <e.leuven@gmail.com>
Sun, 13 Aug 2006 15:44:05 +0000 (15:44 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14647 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/BulletsModule.C
src/frontends/qt4/BulletsModule.h
src/frontends/qt4/QBrowseBox.C [deleted file]
src/frontends/qt4/QBrowseBox.h [deleted file]
src/frontends/qt4/QDocumentDialog.C
src/frontends/qt4/ui/BulletsUi.ui

index 733172becdcd32055f90a1b06d09f4558c788d84..a106823e0e651664417674caf27f5a3ca8c14540 100644 (file)
@@ -4,7 +4,6 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Edwin Leuven
- * \author John Levon
  *
  * Full author contact details are available in file CREDITS.
  */
 #include <config.h>
 
 #include "BulletsModule.h"
-// #include "QBrowseBox.h"
 #include "qt_helpers.h"
 
 #include "support/filetools.h"
 
-#include <QInputDialog>
-#include <QMenu>
-#include <QPushButton>
-#include <QComboBox>
 #include <QPixmap>
 
 #include <boost/assert.hpp>
@@ -29,10 +23,7 @@ using lyx::support::libFileSearch;
 
 using std::string;
 
-
-BulletsModule::BulletsModule(QWidget * /*parent*/,
-                            char const * /*name*/, Qt::WFlags /*fl*/)
-       : bullet_pressed_(0)
+BulletsModule::BulletsModule(QWidget * , char const * , Qt::WFlags)
 {
        setupUi(this);
 
@@ -40,107 +31,22 @@ BulletsModule::BulletsModule(QWidget * /*parent*/,
                bullets_[iter] = ITEMIZE_DEFAULTS[iter];
        }
 
-       QMenu * pm = new QMenu(this);
-
-       // FIXME: Need to verify that this does not leak memory.
-       /*QMenu * pm1 =*/ new QMenu(pm);
-       /*QMenu * pm2 =*/ new QMenu(pm);
-       /*QMenu * pm3 =*/ new QMenu(pm);
-       /*QMenu * pm4 =*/ new QMenu(pm);
-       /*QMenu * pm5 =*/ new QMenu(pm);
-       /*QMenu * pm6 =*/ new QMenu(pm);
-
-// FIXME: We need a Qt4 compatible browsebox type widget
-// which can act as a popup to a toolbutton
-/*
-       standard_ = new QBrowseBox(6, 6, pm1);
-       maths_ = new QBrowseBox(6, 6, pm2);
-       ding1_ = new QBrowseBox(6, 6, pm3);
-       ding2_ = new QBrowseBox(6, 6, pm4);
-       ding3_ = new QBrowseBox(6, 6, pm5);
-       ding4_ = new QBrowseBox(6, 6, pm6);
-
-       ///\todo See how to insert those BrowseBox:
-       pm1->addMenu((QMenu*) standard_);
-       pm2->addMenu((QMenu*)maths_);
-       pm3->addMenu((QMenu*)ding1_);
-       pm4->addMenu((QMenu*)ding2_);
-       pm5->addMenu((QMenu*)ding3_);
-       pm6->addMenu((QMenu*)ding4_);
-
-       pm->insertItem(qt_("&Standard"), pm1, 0);
-       pm->insertItem(qt_("&Maths"), pm2, 1);
-       pm->insertItem(qt_("Dings &1"), pm3, 2);
-       pm->insertItem(qt_("Dings &2"), pm4, 3);
-       pm->insertItem(qt_("Dings &3"), pm5, 4);
-       pm->insertItem(qt_("Dings &4"), pm6, 5);
-       pm->insertSeparator();
-       // FIXME: make this checkable
-       pm->insertItem(qt_("&Custom..."), this, SLOT(setCustom()), 0, 6);
-
-       connect(bullet1PB, SIGNAL(pressed()), this, SLOT(clicked1()));
-       bullet1PB->setPopup(pm);
-
-       connect(bullet2PB, SIGNAL(pressed()), this, SLOT(clicked2()));
-       bullet2PB->setPopup(pm);
-
-       connect(bullet3PB, SIGNAL(pressed()), this, SLOT(clicked3()));
-       bullet3PB->setPopup(pm);
-
-       connect(bullet4PB, SIGNAL(pressed()), this, SLOT(clicked4()));
-       bullet4PB->setPopup(pm);
+       // add levels
+       levelLW->addItem("1");
+       levelLW->addItem("2");
+       levelLW->addItem("3");
+       levelLW->addItem("4");
 
        // insert pixmaps
-       string bmfile;
-       bmfile = libFileSearch("images", "standard", "xpm");
-       standard_->insertItem(QPixmap(toqstr(bmfile)));
-
-       bmfile = libFileSearch("images", "amssymb", "xpm");
-       maths_->insertItem(QPixmap(toqstr(bmfile)));
-
-       bmfile = libFileSearch("images", "psnfss1", "xpm");
-       ding1_->insertItem(QPixmap(toqstr(bmfile)));
-
-       bmfile = libFileSearch("images", "psnfss2", "xpm");
-       ding2_->insertItem(QPixmap(toqstr(bmfile)));
-
-       bmfile = libFileSearch("images", "psnfss3", "xpm");
-       ding3_->insertItem(QPixmap(toqstr(bmfile)));
-
-       bmfile = libFileSearch("images", "psnfss4", "xpm");
-       ding4_->insertItem(QPixmap(toqstr(bmfile)));
-
-       connect(standard_, SIGNAL(selected(int, int)),
-               this, SLOT(standard(int, int)));
-
-       connect(maths_, SIGNAL(selected(int, int)),
-               this, SLOT(maths(int, int)));
-
-       connect(ding1_, SIGNAL(selected(int, int)),
-               this, SLOT(ding1(int, int)));
-
-       connect(ding2_, SIGNAL(selected(int, int)),
-               this, SLOT(ding2(int, int)));
+       setupPanel(new QListWidget(bulletpaneSW), qt_("Standard"), "standard");
+       setupPanel(new QListWidget(bulletpaneSW), qt_("Maths"), "amssymb");
+       setupPanel(new QListWidget(bulletpaneSW), qt_("Dings 1"), "psnfss1");
+       setupPanel(new QListWidget(bulletpaneSW), qt_("Dings 2"), "psnfss2");
+       setupPanel(new QListWidget(bulletpaneSW), qt_("Dings 3"), "psnfss3");
+       setupPanel(new QListWidget(bulletpaneSW), qt_("Dings 4"), "psnfss4");
 
-       connect(ding3_, SIGNAL(selected(int, int)),
-               this, SLOT(ding3(int, int)));
-
-       connect(ding4_, SIGNAL(selected(int, int)),
-               this, SLOT(ding4(int, int)));
-
-       connect(bullet1PB, SIGNAL(pressed()), this, SLOT(selected1()));
-       connect(bullet2PB, SIGNAL(pressed()), this, SLOT(selected2()));
-       connect(bullet3PB, SIGNAL(pressed()), this, SLOT(selected3()));
-       connect(bullet4PB, SIGNAL(pressed()), this, SLOT(selected4()));
-       connect(bulletsize1CO, SIGNAL(activated(int)), this, SLOT(updateSizes()));
-       connect(bulletsize2CO, SIGNAL(activated(int)), this, SLOT(updateSizes()));
-       connect(bulletsize3CO, SIGNAL(activated(int)), this, SLOT(updateSizes()));
-       connect(bulletsize4CO, SIGNAL(activated(int)), this, SLOT(updateSizes()));
-
-       // update the view
-       for (int i = 0; i < 4; ++i)
-               setBullet(bullet1PB, bulletsize1CO, bullets_[i]);
-*/
+       connect(levelLW, SIGNAL(currentRowChanged(int)), this, SLOT(showLevel(int)));
+       connect(bulletpaneCO, SIGNAL(activated(int)), bulletpaneSW, SLOT(setCurrentIndex(int)));
 }
 
 
@@ -149,152 +55,144 @@ BulletsModule::~BulletsModule()
 }
 
 
-void BulletsModule::updateSizes()
+void BulletsModule::setupPanel(QListWidget * lw, QString panelname, std::string fname)
 {
-       // emit signal
-       changed();
+       connect(lw, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
+               this, SLOT(bulletSelected(QListWidgetItem *, QListWidgetItem*)));
 
-       // -1 apparently means default...
-       bullets_[0].setSize(bulletsize1CO->currentItem() - 1);
-       bullets_[1].setSize(bulletsize2CO->currentItem() - 1);
-       bullets_[2].setSize(bulletsize3CO->currentItem() - 1);
-       bullets_[3].setSize(bulletsize4CO->currentItem() - 1);
-}
+       // add panelname to combox
+       bulletpaneCO->addItem(panelname);
 
+       // get pixmap with bullets
+       QPixmap pixmap = QPixmap(toqstr(libFileSearch("images", fname, "xpm")));
+       int const w = pixmap.width() / 6;
+       int const h = pixmap.height() / 6;
 
-// These arrive before the menus are launched.
-void BulletsModule::clicked1()
-{
-       bullet_pressed_ = &bullets_[0];
-}
+       // apply setting to listwidget
+       lw->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+       lw->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+       lw->setViewMode(QListView::IconMode);
+       lw->setFlow(QListView::LeftToRight);
+       lw->setMovement(QListView::Static);
+       lw->setUniformItemSizes(true);
+       lw->setGridSize( QSize(w , h) );
+       lw->resize( 6 * w + 6 , 6* h);
+       bulletpaneSW->setMinimumSize( 6 * w + 6 , 6 * h);
 
+       // get individual bullets from pixmap
+       for (int row = 0; row < 6; ++row) {
+               for (int col = 0; col < 6; ++col) {
+                       QPixmap small(w,h);
+                       // FIXME: how to get the good color?
+                       small.fill(QColor(Qt::white));
+                       bitBlt(&small, 0, 0, &pixmap, col * w, row * h, w, h);
+                       new QListWidgetItem(QIcon(small), "" , lw, (6*row + col));
+               }
+       }
 
-void BulletsModule::clicked2()
-{
-       bullet_pressed_ = &bullets_[1];
+       // add bulletpanel to stackedwidget
+       bulletpaneSW->addWidget(lw);
 }
 
 
-void BulletsModule::clicked3()
+void BulletsModule::showLevel(int level)
 {
-       bullet_pressed_ = &bullets_[2];
+       unselectPreviousItem();
+       current_font_ = bullets_[level].getFont();
+
+       if (bullets_[level].getFont()<0) {
+               customCB->setCheckState(Qt::Checked);
+               customLE->setText(toqstr(bullets_[level].getText()));
+       } else {
+               selectBullet(level);
+               customCB->setCheckState(Qt::Unchecked);
+               customLE->clear();
+               bulletpaneCO->setCurrentIndex(current_font_);
+               bulletpaneSW->setCurrentIndex(current_font_);
+       }
+       bulletsizeCO->setCurrentIndex(bullets_[level].getSize() + 1);
 }
 
 
-void BulletsModule::clicked4()
+void BulletsModule::selectBullet(int level)
 {
-       bullet_pressed_ = &bullets_[3];
+       int const bullet = bullets_[level].getCharacter();
+       QListWidget * lw = static_cast<QListWidget *>(bulletpaneSW->widget(current_font_));
+       // get all items (FIXME: is there a better way? this looks too complicated)
+       QList<QListWidgetItem *> items = lw->findItems("", Qt::MatchContains);
+       for (int i = 0 ; i < items.size() ; ++i) {
+               if (items.at(i)->type() == bullet) {
+                       current_item_ = items.at(i);
+                       lw->setItemSelected(current_item_, true);
+               }
+       }
 }
 
 
-// These arrive *after* the menus have done their work
-void BulletsModule::selected1()
+void BulletsModule::init()
 {
-       if (!tmpbulletset)
-               return;
-       tmpbulletset = false;
-       bullets_[0] = tmpbullet;
-       setBullet(bullet1PB, bulletsize1CO, bullets_[0]);
-       // emit signal
-       changed();
+       levelLW->setCurrentRow(0);
+       showLevel(0);
 }
 
 
-void BulletsModule::selected2()
+void BulletsModule::bulletSelected(QListWidgetItem * item, QListWidgetItem *)
 {
-       if (!tmpbulletset)
-               return;
-       tmpbulletset = false;
-       bullets_[1] = tmpbullet;
-       setBullet(bullet2PB, bulletsize2CO, bullets_[1]);
-       // emit signal
+       unselectPreviousItem();
+       int const level = levelLW->currentRow();
+       bullets_[level].setCharacter(item->type());
+       bullets_[level].setFont(bulletpaneCO->currentIndex());
+       current_font_ = bulletpaneCO->currentIndex();
+       current_item_ = item;
        changed();
 }
 
 
-void BulletsModule::selected3()
+void BulletsModule::unselectPreviousItem()
 {
-       if (!tmpbulletset)
+       if (current_font_<0)
                return;
-       tmpbulletset = false;
-       bullets_[2] = tmpbullet;
-       setBullet(bullet3PB, bulletsize3CO, bullets_[2]);
-       // emit signal
-       changed();
+
+       QListWidget * lw = static_cast<QListWidget *>(bulletpaneSW->widget(current_font_));
+       lw->setItemSelected(current_item_, false);
 }
 
 
-void BulletsModule::selected4()
+void BulletsModule::on_customCB_toggled(bool custom)
 {
-       if (!tmpbulletset)
+       if (!custom) {
+               if (current_font_<0)
+                       current_font_ = bulletpaneCO->currentIndex();
                return;
-       tmpbulletset = false;
-       bullets_[3] = tmpbullet;
-       setBullet(bullet4PB, bulletsize4CO, bullets_[3]);
-       // emit signal
+       }
+               
+       unselectPreviousItem();
+       current_font_ = -1;
        changed();
 }
 
 
-QPixmap BulletsModule::getPixmap(int /*font*/, int /*character*/)
+void BulletsModule::on_customLE_textEdited(const QString & text)
 {
-       //int col = character % 6;
-       //int row = (character - col) / 6;
-
-/*     switch (font) {
-       case 0:
-               return standard_->pixmap(row,col);
-       case 1:
-               return maths_->pixmap(row,col);
-       case 2:
-               return ding1_->pixmap(row,col);
-       case 3:
-               return ding2_->pixmap(row,col);
-       case 4:
-               return ding3_->pixmap(row,col);
-       case 5:
-               return ding4_->pixmap(row,col);
-       default:
-               return standard_->pixmap(row,col);
-       }*/
-       // make qt4 frontend at least compilable now.
-       return QPixmap();
+       if (customCB->checkState() == Qt::Unchecked)
+               return;
+
+       bullets_[levelLW->currentRow()].setFont(current_font_);
+       bullets_[levelLW->currentRow()].setText(fromqstr(text));
+       changed();
 }
 
 
-void BulletsModule::setBullet(QPushButton * pb, QComboBox * co, Bullet const & b)
+void BulletsModule::on_bulletsizeCO_activated(int size)
 {
-       if (b.getFont() == -1) {
-               pb->setPixmap(QPixmap());
-               pb->setText(toqstr(b.getText()));
-       } else {
-               pb->setPixmap(getPixmap(b.getFont(), b.getCharacter()));
-       }
-
-       pb->setMinimumSize(QSize(50, 50));
-
-       co->setCurrentItem(b.getSize() + 1);
+       // -1 apparently means default...
+       bullets_[levelLW->currentRow()].setSize(size - 1);
 }
 
 
-void BulletsModule::setBullet(int level, const Bullet & bullet)
+void BulletsModule::setBullet(int level, Bullet const & bullet)
 {
        bullets_[level] = bullet;
-       // FIXME: backout until we fixed the browsebox
-       return;
-
-       QPushButton * pb = 0;
-       QComboBox * co = 0;
-
-       switch (level) {
-               case 0: pb = bullet1PB; co = bulletsize1CO; break;
-               case 1: pb = bullet2PB; co = bulletsize2CO; break;
-               case 2: pb = bullet3PB; co = bulletsize3CO; break;
-               case 3: pb = bullet4PB; co = bulletsize4CO; break;
-               default: BOOST_ASSERT(false); break;
-       }
-
-       setBullet(pb, co, bullet);
 }
 
 
@@ -304,68 +202,4 @@ Bullet const & BulletsModule::getBullet(int level) const
 }
 
 
-void BulletsModule::setCurrentBullet(int font, int character)
-{
-       tmpbulletset = true;
-       tmpbullet.setFont(font);
-       tmpbullet.setCharacter(character);
-}
-
-
-void BulletsModule::standard(int row, int col)
-{
-       setCurrentBullet(0, 6 * row + col);
-}
-
-
-void BulletsModule::maths(int row, int col)
-{
-       setCurrentBullet(1, 6 * row + col);
-}
-
-
-void BulletsModule::ding1(int row, int col)
-{
-       setCurrentBullet(2, 6 * row + col);
-}
-
-
-void BulletsModule::ding2(int row, int col)
-{
-       setCurrentBullet(3, 6 * row + col);
-}
-
-
-void BulletsModule::ding3(int row, int col)
-{
-       setCurrentBullet(4, 6 * row + col);
-}
-
-
-void BulletsModule::ding4(int row, int col)
-{
-       setCurrentBullet(5, 6 * row + col);
-}
-
-
-void BulletsModule::setCustom()
-{
-       QString const input = bullet_pressed_ ?
-               toqstr(bullet_pressed_->getText()) : QString::null;
-
-       bool ok = false;
-       QString text = QInputDialog::getText(
-               qt_( "Bullets" ),
-               qt_( "Enter a custom bullet" ),
-               QLineEdit::Normal,
-               input, &ok, this );
-
-       if (!ok)
-               return;
-
-       tmpbulletset = true;
-       tmpbullet.setText(fromqstr(text));
-       tmpbullet.setFont(-1);
-}
-
 #include "BulletsModule_moc.cpp"
index 050854004ad0abd67013750289d8064fda1a417a..edb758cdde3f38bb16e1615d69eaad36e1993c21 100644 (file)
 
 #include <QWidget>
 
-// class QBrowseBox;
-class QPushButton;
-class QComboBox;
-class QPixmap;
-
 class BulletsModule : public QWidget, public Ui::BulletsUi {
        Q_OBJECT
 public:
@@ -33,61 +28,32 @@ public:
        ~BulletsModule();
 
        /// set a bullet
-       void setBullet(int level, const Bullet & bullet);
-
+       void setBullet(int level, Bullet const & bullet);
        /// get bullet setting
        Bullet const & getBullet(int level) const;
+       /// update 1st level
+       void init();
 
 Q_SIGNALS:
        void changed();
 
 protected Q_SLOTS:
 
-       /// menu callbacks
-       void standard(int row, int col);
-       void maths(int row, int col);
-       void ding1(int row, int col);
-       void ding2(int row, int col);
-       void ding3(int row, int col);
-       void ding4(int row, int col);
-
-       void updateSizes();
-
-       void clicked1();
-       void clicked2();
-       void clicked3();
-       void clicked4();
-
-       void selected1();
-       void selected2();
-       void selected3();
-       void selected4();
-
-       /// set custom (text) bullet
-       void setCustom();
+       void on_bulletsizeCO_activated(int level);
+       void on_customCB_toggled(bool);
+       void on_customLE_textEdited(const QString &);
+       void bulletSelected(QListWidgetItem *, QListWidgetItem*);
+       void showLevel(int);
 
 private:
-       QPixmap getPixmap(int font, int character);
-
-       /// update GUI view
-       void setBullet(QPushButton * pb, QComboBox * co, Bullet const & b);
-
-       /// set from menu
-       void setCurrentBullet(int font, int character);
-
-       bool tmpbulletset;
-       Bullet tmpbullet;
+       void unselectPreviousItem();
+       void setupPanel(QListWidget * lw, QString panelname, std::string fname);
+       void selectBullet(int level);
 
        /// store results
        boost::array<Bullet, 4> bullets_;
-
-/*     QBrowseBox * standard_;
-       QBrowseBox * maths_;
-       QBrowseBox * ding1_;
-       QBrowseBox * ding2_;
-       QBrowseBox * ding3_;
-       QBrowseBox * ding4_;*/
-       Bullet * bullet_pressed_;
+       int current_font_;
+       QListWidgetItem * current_item_;
 };
 
 #endif // BULLETSMODULE_H
diff --git a/src/frontends/qt4/QBrowseBox.C b/src/frontends/qt4/QBrowseBox.C
deleted file mode 100644 (file)
index 7bbb44c..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-/**
- * \file QBrowseBox.C
- *
- * Original file taken from klyx 0.10 sources:
- *
- * \author Kalle Dalheimer
- *
- * Full author contact details are available in file CREDITS.
- */
-
-#include <config.h>
-
-#include "QBrowseBox.h"
-
-#include <QPixmap>
-#include <QPainter>
-#include <QApplication>
-#include <qdrawutil.h>
-#include <QStyle>
-#include <QMouseEvent>
-#include <QFrame>
-#include <QKeyEvent>
-#include <QCloseEvent>
-
-#include <QDesktopWidget>
-
-#include <cmath>
-
-
-QBrowseBox::QBrowseBox(int rows, int cols, QWidget* parent, const char * name, Qt::WFlags f)
-       : Q3GridView(parent,name,f)
-{
-       setNumRows(rows);
-       setNumCols(cols);
-
-       pixmaps_ = new QPixmap[rows * cols];
-
-       activecell_.setX(-1);
-       activecell_.setY(-1);
-
-
-       setFrameStyle(QFrame::WinPanel | QFrame::Raised);
-
-       setVScrollBarMode(Q3ScrollView::AlwaysOff);
-       setHScrollBarMode(Q3ScrollView::AlwaysOff);
-
-       viewport()->setFocusPolicy(Qt::StrongFocus);
-       // setMouseTracking must be called after setFocusPolicy
-       viewport()->setMouseTracking(true);
-       inloop=false;
-
-}
-
-
-QBrowseBox::~QBrowseBox()
-{
-       delete [] pixmaps_;
-}
-
-
-int QBrowseBox::coordsToIndex(int row, int col)
-{
-       if (col < 0 || col > numCols() || row < 0 ||  row > numRows())
-               qDebug("coordsToIndex: invalid coords (%d, %d)\n", row, col);
-       return row + col * numCols();
-}
-
-
-void QBrowseBox::insertItem(QPixmap pixmap, int row, int col)
-{
-       pixmaps_[coordsToIndex(row, col)] = pixmap;
-}
-
-
-void QBrowseBox::insertItem(QPixmap pixmap)
-{
-       int w = pixmap.width() / numCols();
-       int h = pixmap.height() / numRows();
-
-       for (int row = 0; row < numRows(); ++row) {
-               for (int col = 0; col < numCols(); ++col) {
-                       QPixmap small(w,h);
-                       small.fill(backgroundColor());
-                       bitBlt(&small, 0, 0, &pixmap, col * w, row * h,
-                               w, h);
-                       insertItem(small, row, col);
-               }
-       }
-
-       setCellWidth(pixmap.width() / numCols());
-       setCellHeight(pixmap.height() / numRows());
-       setMinimumWidth(pixmap.width() + (numCols() + 1) * 1);
-       setMinimumHeight(pixmap.height() + (numRows() + 1) * 1);
-       resize(minimumSize());
-}
-
-
-QPixmap QBrowseBox::pixmap(int row, int col)
-{
-       if (col < 0 || col >= numCols() || row < 0 || row >= numRows())
-               return QPixmap();
-       return pixmaps_[coordsToIndex(row, col)];
-}
-
-
-int QBrowseBox::exec(const QPoint & pos)
-{
-       return exec(pos.x(),pos.y());
-}
-
-
-int QBrowseBox::exec(const QWidget * trigger)
-{
-       QPoint globalpos = trigger->parentWidget()->mapToGlobal( trigger->pos());
-       // is there enough space to put the box below the trigger?
-       if ( globalpos.y() + trigger->height()+height()+1<
-            QApplication::desktop()->height()) {
-               // is there enough space to set the box left-justified with the trigger
-               if (globalpos.x()+width()<QApplication::desktop()->width())
-                       return exec(globalpos.x(),
-                                   globalpos.y()+trigger->height()+1);
-               else
-                       return exec(globalpos.x()-width()-1,
-                                   globalpos.y()+trigger->height()+1);
-       } else {
-               if (globalpos.x()+width()<QApplication::desktop()->width())
-                       return exec(globalpos.x(),
-                                   globalpos.y()-height()-1);
-               else
-                       return exec(globalpos.x()-width()-1,
-                                   globalpos.y()-height()-1);
-       }
-}
-
-
-int QBrowseBox::exec(int x,int y)
-{
-       firstrelease_ = true;
-       move(x,y);
-       show();
-       update();
-       qApp->enter_loop();
-       inloop = true;
-
-       if (activecell_.x()!=-1 && activecell_.y()!=-1 )
-               return coordsToIndex( activecell_.x(),activecell_.y());
-       else
-               return -1;
-}
-
-
-void QBrowseBox::keyPressEvent(QKeyEvent * e)
-{
-       switch(e->key()) {
-       case Qt::Key_Up:
-               moveUp();
-               break;
-       case Qt::Key_Down:
-               moveDown();
-               break;
-       case Qt::Key_Left:
-               moveLeft();
-               break;
-       case Qt::Key_Right:
-               moveRight();
-               break;
-       case Qt::Key_Return:
-               emit selected(activecell_.x(), activecell_.y());
-               if ( isVisible() && parentWidget() &&
-                    parentWidget()->inherits("QPopupMenu") )
-                       parentWidget()->close();
-               else
-                       close();
-               break;
-       case Qt::Key_Escape:
-               if (inloop)
-                       qApp->exit_loop();
-               if ( isVisible() && parentWidget() &&
-                    parentWidget()->inherits("QPopupMenu") )
-                       parentWidget()->close();
-       default:
-               e->ignore();
-       }
-}
-
-
-void QBrowseBox::contentsMouseReleaseEvent(QMouseEvent *)
-{
-
-       if (firstrelease_)
-               firstrelease_ = false;
-       else {
-               emit selected( activecell_.x(), activecell_.y());
-               if ( isVisible() && parentWidget() &&
-                    parentWidget()->inherits("QPopupMenu") )
-                       parentWidget()->close();
-       }
-}
-
-
-void QBrowseBox::closeEvent(QCloseEvent * e)
-{
-       e->accept();
-       qApp->exit_loop();
-}
-
-
-void QBrowseBox::paintCell(QPainter * painter, int row, int col)
-{
-       painter->setClipRect(cellGeometry(row, col));
-
-       int const index = coordsToIndex(row, col);
-
-       painter->drawPixmap(0, 0, pixmaps_[index]);
-
-       if (activecell_.x() == row && activecell_.y() == col) {
-               qDrawShadeRect(painter, 0, 0, cellWidth(),
-                              cellHeight(), colorGroup(), false, 1);
-       } else {
-               qDrawPlainRect(painter, 0, 0, cellWidth(),
-                              cellHeight(), colorGroup().background(), 1);
-       }
-
-       painter->setClipping(false);
-}
-
-
-void QBrowseBox::contentsMouseMoveEvent(QMouseEvent * e)
-{
-       int x = e->pos().x();
-       int y = e->pos().y();
-
-       int cellx;
-       int celly;
-
-       if (x < 0 || y < 0 || x > width() || y > height()) {
-               // outside the box
-               cellx = -1;
-               celly = -1;
-       } else {
-               celly = (int)floor( ((double)x) / ((double)cellWidth()) );
-               cellx = (int)floor( ((double)y) / ((double)cellHeight()) );
-       }
-
-       if (activecell_.x() != cellx || activecell_.y() != celly) {
-               // mouse has been moved to another cell
-               int oldactivecellx = activecell_.x();
-               int oldactivecelly = activecell_.y();
-               activecell_.setX(cellx);
-               activecell_.setY(celly);
-               // remove old highlighting
-               updateCell(oldactivecellx, oldactivecelly);
-               // set new highlighting
-               updateCell(activecell_.x(), activecell_.y());
-       }
-}
-
-
-void QBrowseBox::moveLeft()
-{
-       int const y = activecell_.y();
-
-       if (y>0)
-               activecell_.setY(y - 1);
-       else if (parentWidget())
-               QWidget::focusNextPrevChild(false);
-
-       updateCell(activecell_.x(), y);
-       updateCell(activecell_.x(), activecell_.y());
-}
-
-
-void QBrowseBox::moveRight()
-{
-       int const y = activecell_.y();
-
-       if (y < numCols() - 1)
-               activecell_.setY(y+1);
-
-       updateCell(activecell_.x(), y);
-       updateCell(activecell_.x(), activecell_.y());
-}
-
-
-void QBrowseBox::moveUp()
-{
-       int const x = activecell_.x();
-
-       if (x > 0)
-               activecell_.setX(x - 1);
-       else if (parentWidget())
-               QWidget::focusNextPrevChild(false);
-
-       updateCell(x, activecell_.y());
-       updateCell(activecell_.x(), activecell_.y());
-}
-
-
-void QBrowseBox::moveDown()
-{
-       int const x = activecell_.x();
-
-       if (x < numRows() - 1)
-               activecell_.setX(x + 1);
-
-       updateCell(x, activecell_.y());
-       updateCell(activecell_.x(), activecell_.y());
-}
diff --git a/src/frontends/qt4/QBrowseBox.h b/src/frontends/qt4/QBrowseBox.h
deleted file mode 100644 (file)
index 7bd099f..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-// -*- C++ -*-
-/**
- * \file QBrowseBox.h
- *
- * Original file taken from klyx 0.10 sources:
- *
- * \author Kalle Dalheimer
- *
- * Full author contact details are available in file CREDITS.
- */
-
-#ifndef QBROWSEBOX_H
-#define QBROWSEBOX_H
-
-#include <QPixmap>
-#include <QMouseEvent>
-#include <QKeyEvent>
-#include <QCloseEvent>
-#include <Q3GridView>
-
-
-class QString;
-class QPainter;
-class QPixmap;
-
-
-class QBrowseBox : public Q3GridView
-{
-       Q_OBJECT
-public:
-       QBrowseBox(int rows, int cols, QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0);
-       ~QBrowseBox();
-
-       void insertItem(QPixmap pixmap);
-
-       QPixmap pixmap(int row, int col);
-
-       int exec(const QPoint & pos);
-       int exec(int x, int y);
-       int exec(const QWidget * trigger);
-
-Q_SIGNALS:
-       void selected(int, int);
-
-protected:
-       virtual void keyPressEvent(QKeyEvent * e);
-       virtual void contentsMouseReleaseEvent(QMouseEvent *);
-       virtual void closeEvent(QCloseEvent * e);
-       virtual void contentsMouseMoveEvent(QMouseEvent * e);
-       virtual void paintCell(QPainter *, int row, int col);
-
-private:
-       // make sure the automatically generated one is not used
-       QBrowseBox & operator=(QBrowseBox const &);
-
-       void moveLeft();
-       void moveRight();
-       void moveUp();
-       void moveDown();
-
-       void insertItem(QPixmap pixmap, int row, int col);
-
-       int coordsToIndex(int row, int col);
-
-       QPixmap* pixmaps_;
-       QPoint activecell_;
-       bool firstrelease_;
-       bool inloop;
-
-};
-#endif
index 624cf7f50736534a094551fd9c57650034df28a1..e85d59c7b248e55e10aace0c0d87714e67189597 100644 (file)
@@ -375,20 +375,18 @@ QDocumentDialog::QDocumentDialog(QDocument * form)
        connect(branchesModule, SIGNAL(changed()), this, SLOT(change_adaptor()));
 
 
-       preambleModule = new UiWidget<Ui::PreambleUi>;
        // preamble
+       preambleModule = new UiWidget<Ui::PreambleUi>;
        connect(preambleModule->preambleTE, SIGNAL(textChanged()), this, SLOT(change_adaptor()));
 
 
-       bulletsModule = new BulletsModule;
-       // FIXME: disable until we fix browsebox in BulletsModule.[Ch]
-       bulletsModule->setEnabled(false);
        // bullets
+       bulletsModule = new BulletsModule;
        connect(bulletsModule, SIGNAL(changed()), this, SLOT(change_adaptor()));
 
 
-       floatModule = new FloatPlacement;
        // float
+       floatModule = new FloatPlacement;
        connect(floatModule, SIGNAL(changed()), this, SLOT(change_adaptor()));
 
        docPS->addPanel(latexModule, _("Document Class"));
@@ -970,10 +968,11 @@ void QDocumentDialog::update(BufferParams const & params)
        }
 
        // bullets
-       bulletsModule->setBullet(0,params.user_defined_bullet(0));
-       bulletsModule->setBullet(1,params.user_defined_bullet(1));
-       bulletsModule->setBullet(2,params.user_defined_bullet(2));
-       bulletsModule->setBullet(3,params.user_defined_bullet(3));
+       bulletsModule->setBullet(0, params.user_defined_bullet(0));
+       bulletsModule->setBullet(1, params.user_defined_bullet(1));
+       bulletsModule->setBullet(2, params.user_defined_bullet(2));
+       bulletsModule->setBullet(3, params.user_defined_bullet(3));
+       bulletsModule->init();
 
        // packages
        QString text = toqstr(params.graphicsDriver);
index ffdc2222f15d091da1d53e5e88d09f18ead27375..62915083e28da3df92cb3ebad2ad777504c51b38 100644 (file)
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>414</width>
-    <height>268</height>
+    <width>415</width>
+    <height>321</height>
    </rect>
   </property>
-  <property name="windowTitle" >
-   <string/>
-  </property>
-  <layout class="QVBoxLayout" >
+  <layout class="QGridLayout" >
    <property name="margin" >
-    <number>11</number>
+    <number>9</number>
    </property>
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item>
-    <layout class="QVBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
+   <item row="1" column="2" colspan="2" >
+    <widget class="QComboBox" name="bulletpaneCO" >
+     <property name="sizePolicy" >
+      <sizepolicy>
+       <hsizetype>7</hsizetype>
+       <vsizetype>0</vsizetype>
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1" >
+    <widget class="QLabel" name="label_2" >
+     <property name="text" >
+      <string>&amp;Font:</string>
+     </property>
+     <property name="buddy" >
+      <cstring>bulletpaneCO</cstring>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="1" colspan="2" >
+    <widget class="QLabel" name="sizeL" >
+     <property name="text" >
+      <string>Si&amp;ze:</string>
      </property>
-     <property name="spacing" >
-      <number>6</number>
+     <property name="alignment" >
+      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
      </property>
+     <property name="buddy" >
+      <cstring>bulletsizeCO</cstring>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="3" >
+    <widget class="QComboBox" name="bulletsizeCO" >
+     <property name="sizePolicy" >
+      <sizepolicy>
+       <hsizetype>7</hsizetype>
+       <vsizetype>0</vsizetype>
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <item>
+      <property name="text" >
+       <string>Default</string>
+      </property>
+     </item>
+     <item>
+      <property name="text" >
+       <string>Tiny</string>
+      </property>
+     </item>
+     <item>
+      <property name="text" >
+       <string>Smallest</string>
+      </property>
+     </item>
+     <item>
+      <property name="text" >
+       <string>Smaller</string>
+      </property>
+     </item>
+     <item>
+      <property name="text" >
+       <string>Small</string>
+      </property>
+     </item>
+     <item>
+      <property name="text" >
+       <string>Normal</string>
+      </property>
+     </item>
+     <item>
+      <property name="text" >
+       <string>Large</string>
+      </property>
+     </item>
      <item>
-      <layout class="QHBoxLayout" >
-       <property name="margin" >
-        <number>0</number>
-       </property>
-       <property name="spacing" >
-        <number>6</number>
-       </property>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <widget class="QPushButton" name="bullet1PB" >
-           <property name="sizePolicy" >
-            <sizepolicy>
-             <hsizetype>5</hsizetype>
-             <vsizetype>5</vsizetype>
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize" >
-            <size>
-             <width>78</width>
-             <height>50</height>
-            </size>
-           </property>
-           <property name="maximumSize" >
-            <size>
-             <width>78</width>
-             <height>32767</height>
-            </size>
-           </property>
-           <property name="text" >
-            <string/>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QLabel" name="sadsa" >
-           <property name="text" >
-            <string>&amp;First level</string>
-           </property>
-           <property name="alignment" >
-            <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-           </property>
-           <property name="buddy" >
-            <cstring>bullet1PB</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::MinimumExpanding</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>20</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <widget class="QLabel" name="TextLabel1" >
-           <property name="text" >
-            <string>Size:</string>
-           </property>
-           <property name="buddy" >
-            <cstring>bulletsizeCO</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QComboBox" name="bulletsize1CO" >
-           <item>
-            <property name="text" >
-             <string>default</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Tiny</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smallest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smaller</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Small</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Normal</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Large</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Larger</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Largest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huge</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huger</string>
-            </property>
-           </item>
-          </widget>
-         </item>
-        </layout>
-       </item>
-      </layout>
+      <property name="text" >
+       <string>Larger</string>
+      </property>
      </item>
      <item>
-      <layout class="QHBoxLayout" >
-       <property name="margin" >
-        <number>0</number>
-       </property>
-       <property name="spacing" >
-        <number>6</number>
-       </property>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::Fixed</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>16</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item>
-          <widget class="QPushButton" name="bullet2PB" >
-           <property name="sizePolicy" >
-            <sizepolicy>
-             <hsizetype>5</hsizetype>
-             <vsizetype>5</vsizetype>
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize" >
-            <size>
-             <width>78</width>
-             <height>50</height>
-            </size>
-           </property>
-           <property name="maximumSize" >
-            <size>
-             <width>78</width>
-             <height>32767</height>
-            </size>
-           </property>
-           <property name="text" >
-            <string/>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QLabel" name="sadsa_2" >
-           <property name="text" >
-            <string>&amp;Second level</string>
-           </property>
-           <property name="alignment" >
-            <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-           </property>
-           <property name="buddy" >
-            <cstring>bullet2PB</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::MinimumExpanding</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>20</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <widget class="QLabel" name="TextLabel1_2" >
-           <property name="text" >
-            <string>Size:</string>
-           </property>
-           <property name="buddy" >
-            <cstring>bulletsizeCO</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QComboBox" name="bulletsize2CO" >
-           <item>
-            <property name="text" >
-             <string>default</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Tiny</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smallest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smaller</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Small</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Normal</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Large</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Larger</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Largest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huge</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huger</string>
-            </property>
-           </item>
-          </widget>
-         </item>
-        </layout>
-       </item>
-      </layout>
+      <property name="text" >
+       <string>Largest</string>
+      </property>
      </item>
      <item>
-      <layout class="QHBoxLayout" >
-       <property name="margin" >
-        <number>0</number>
-       </property>
-       <property name="spacing" >
-        <number>6</number>
-       </property>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::Fixed</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>16</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::Fixed</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>16</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item>
-          <widget class="QPushButton" name="bullet3PB" >
-           <property name="sizePolicy" >
-            <sizepolicy>
-             <hsizetype>5</hsizetype>
-             <vsizetype>5</vsizetype>
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize" >
-            <size>
-             <width>78</width>
-             <height>50</height>
-            </size>
-           </property>
-           <property name="maximumSize" >
-            <size>
-             <width>78</width>
-             <height>32767</height>
-            </size>
-           </property>
-           <property name="text" >
-            <string/>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QLabel" name="sadsa_3" >
-           <property name="text" >
-            <string>&amp;Third level</string>
-           </property>
-           <property name="alignment" >
-            <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-           </property>
-           <property name="buddy" >
-            <cstring>bullet3PB</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::MinimumExpanding</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>20</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <widget class="QLabel" name="TextLabel1_3" >
-           <property name="text" >
-            <string>Size:</string>
-           </property>
-           <property name="buddy" >
-            <cstring>bulletsizeCO</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QComboBox" name="bulletsize3CO" >
-           <item>
-            <property name="text" >
-             <string>default</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Tiny</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smallest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smaller</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Small</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Normal</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Large</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Larger</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Largest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huge</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huger</string>
-            </property>
-           </item>
-          </widget>
-         </item>
-        </layout>
-       </item>
-      </layout>
+      <property name="text" >
+       <string>Huge</string>
+      </property>
      </item>
      <item>
-      <layout class="QHBoxLayout" >
-       <property name="margin" >
-        <number>0</number>
-       </property>
-       <property name="spacing" >
-        <number>6</number>
-       </property>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <layout class="QHBoxLayout" >
-           <property name="margin" >
-            <number>0</number>
-           </property>
-           <property name="spacing" >
-            <number>6</number>
-           </property>
-           <item>
-            <spacer>
-             <property name="orientation" >
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeType" >
-              <enum>QSizePolicy::Fixed</enum>
-             </property>
-             <property name="sizeHint" >
-              <size>
-               <width>16</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-           <item>
-            <spacer>
-             <property name="orientation" >
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeType" >
-              <enum>QSizePolicy::Fixed</enum>
-             </property>
-             <property name="sizeHint" >
-              <size>
-               <width>16</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-           <item>
-            <spacer>
-             <property name="orientation" >
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeType" >
-              <enum>QSizePolicy::Fixed</enum>
-             </property>
-             <property name="sizeHint" >
-              <size>
-               <width>16</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-           <item>
-            <widget class="QPushButton" name="bullet4PB" >
-             <property name="sizePolicy" >
-              <sizepolicy>
-               <hsizetype>5</hsizetype>
-               <vsizetype>5</vsizetype>
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
-             <property name="minimumSize" >
-              <size>
-               <width>78</width>
-               <height>50</height>
-              </size>
-             </property>
-             <property name="maximumSize" >
-              <size>
-               <width>78</width>
-               <height>32767</height>
-              </size>
-             </property>
-             <property name="text" >
-              <string/>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QLabel" name="sadsa_4" >
-             <property name="text" >
-              <string>Fou&amp;rth level</string>
-             </property>
-             <property name="alignment" >
-              <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-             </property>
-             <property name="buddy" >
-              <cstring>bullet4PB</cstring>
-             </property>
-            </widget>
-           </item>
-          </layout>
-         </item>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::MinimumExpanding</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>20</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <widget class="QLabel" name="TextLabel1_4" >
-           <property name="text" >
-            <string>Size:</string>
-           </property>
-           <property name="buddy" >
-            <cstring>bulletsizeCO</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QComboBox" name="bulletsize4CO" >
-           <item>
-            <property name="text" >
-             <string>default</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Tiny</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smallest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Smaller</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Small</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Normal</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Large</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Larger</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Largest</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huge</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Huger</string>
-            </property>
-           </item>
-          </widget>
-         </item>
-        </layout>
-       </item>
-      </layout>
+      <property name="text" >
+       <string>Huger</string>
+      </property>
      </item>
-    </layout>
+    </widget>
    </item>
-   <item>
+   <item row="5" column="3" >
     <spacer>
      <property name="orientation" >
       <enum>Qt::Vertical</enum>
      </property>
-     <property name="sizeType" >
-      <enum>QSizePolicy::Expanding</enum>
-     </property>
      <property name="sizeHint" >
       <size>
        <width>20</width>
-       <height>20</height>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item row="3" column="3" >
+    <widget class="QLineEdit" name="customLE" >
+     <property name="enabled" >
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="1" colspan="2" >
+    <widget class="QCheckBox" name="customCB" >
+     <property name="text" >
+      <string>Custom Bullet:</string>
+     </property>
+    </widget>
+   </item>
+   <item rowspan="5" row="1" column="0" >
+    <widget class="QListWidget" name="levelLW" >
+     <property name="maximumSize" >
+      <size>
+       <width>96</width>
+       <height>16777215</height>
+      </size>
+     </property>
+    </widget>
+   </item>
+   <item rowspan="5" row="1" column="4" >
+    <spacer>
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" >
+      <size>
+       <width>16</width>
+       <height>271</height>
       </size>
      </property>
     </spacer>
    </item>
+   <item row="0" column="0" >
+    <widget class="QLabel" name="label" >
+     <property name="text" >
+      <string>&amp;Level:</string>
+     </property>
+     <property name="buddy" >
+      <cstring>levelLW</cstring>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="1" colspan="3" >
+    <widget class="QStackedWidget" name="bulletpaneSW" />
+   </item>
   </layout>
  </widget>
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <tabstops>
-  <tabstop>bullet1PB</tabstop>
-  <tabstop>bullet2PB</tabstop>
-  <tabstop>bullet3PB</tabstop>
-  <tabstop>bullet4PB</tabstop>
-  <tabstop>bulletsize1CO</tabstop>
-  <tabstop>bulletsize2CO</tabstop>
-  <tabstop>bulletsize3CO</tabstop>
-  <tabstop>bulletsize4CO</tabstop>
- </tabstops>
  <resources/>
- <connections/>
+ <connections>
+  <connection>
+   <sender>customCB</sender>
+   <signal>toggled(bool)</signal>
+   <receiver>customLE</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>203</x>
+     <y>148</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>319</x>
+     <y>149</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>customCB</sender>
+   <signal>toggled(bool)</signal>
+   <receiver>label_2</receiver>
+   <slot>setDisabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>203</x>
+     <y>148</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>19</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>customCB</sender>
+   <signal>toggled(bool)</signal>
+   <receiver>bulletpaneCO</receiver>
+   <slot>setDisabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>203</x>
+     <y>148</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>320</x>
+     <y>52</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>customCB</sender>
+   <signal>toggled(bool)</signal>
+   <receiver>bulletpaneSW</receiver>
+   <slot>setDisabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>203</x>
+     <y>148</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>320</x>
+     <y>106</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
 </ui>