Exemplo n.º 1
0
KComboBoxTest::KComboBoxTest(QWidget *widget)
    : QWidget(widget)
{
    QVBoxLayout *vbox = new QVBoxLayout(this);

    // Qt combobox
    QHBoxLayout *hbox = new QHBoxLayout();
    QLabel *lbl = new QLabel("&QCombobox:", this);
    lbl->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
    hbox->addWidget(lbl);

    m_qc = new QComboBox(this);
    m_qc->setObjectName(QLatin1String("QtReadOnlyCombo"));
    lbl->setBuddy(m_qc);
    connectComboSignals(m_qc);
    hbox->addWidget(m_qc);

    vbox->addLayout(hbox);

    // Read-only combobox
    hbox = new QHBoxLayout();
    lbl = new QLabel("&Read-Only Combo:", this);
    lbl->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
    hbox->addWidget(lbl);

    m_ro = new KComboBox(this);
    m_ro->setObjectName("ReadOnlyCombo");
    lbl->setBuddy(m_ro);
    m_ro->setCompletionMode(KCompletion::CompletionAuto);
    connectComboSignals(m_ro);
    hbox->addWidget(m_ro);

    vbox->addLayout(hbox);

    // Read-write combobox
    hbox = new QHBoxLayout();
    lbl = new QLabel("&Editable Combo:", this);
    lbl->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
    hbox->addWidget(lbl);

    m_rw = new KComboBox(true, this);
    m_rw->setObjectName("ReadWriteCombo");
    lbl->setBuddy(m_rw);
    m_rw->setDuplicatesEnabled(true);
    m_rw->setInsertPolicy(QComboBox::NoInsert);
    m_rw->setTrapReturnKey(true);
    connectComboSignals(m_rw);
    hbox->addWidget(m_rw);
    vbox->addLayout(hbox);

    // History combobox...
    hbox = new QHBoxLayout();
    lbl = new QLabel("&History Combo:", this);
    lbl->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
    hbox->addWidget(lbl);

    m_hc = new KHistoryComboBox(this);
    m_hc->setObjectName("HistoryCombo");
    lbl->setBuddy(m_hc);
    m_hc->setDuplicatesEnabled(true);
    m_hc->setInsertPolicy(QComboBox::NoInsert);
    connectComboSignals(m_hc);
    m_hc->setTrapReturnKey(true);
    hbox->addWidget(m_hc);
    vbox->addLayout(hbox);

    // Read-write combobox that is a replica of code in konqueror...
    hbox = new QHBoxLayout();
    lbl = new QLabel("&Konq's Combo:", this);
    lbl->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
    hbox->addWidget(lbl);

    m_konqc = new KComboBox(true, this);
    m_konqc->setObjectName("KonqyCombo");
    lbl->setBuddy(m_konqc);
    m_konqc->setMaxCount(10);
    connectComboSignals(m_konqc);
    hbox->addWidget(m_konqc);
    vbox->addLayout(hbox);

    // Create an exit button
    hbox = new QHBoxLayout();
    m_btnExit = new QPushButton("E&xit", this);
    QObject::connect(m_btnExit, &QAbstractButton::clicked, this, &KComboBoxTest::quitApp);
    hbox->addWidget(m_btnExit);

    // Create a disable button...
    m_btnEnable = new QPushButton("Disa&ble", this);
    QObject::connect(m_btnEnable, &QAbstractButton::clicked, this, &KComboBoxTest::slotDisable);
    hbox->addWidget(m_btnEnable);

    vbox->addLayout(hbox);

    // Popuplate the select-only list box
    QStringList list;
    list << "Stone" << "Tree" << "Peables" << "Ocean" << "Sand" << "Chips"
         << "Computer" << "Mankind";
    list.sort();

    // Setup the qcombobox
    m_qc->addItems(list);

    // Setup read-only combo
    m_ro->addItems(list);
    m_ro->completionObject()->setItems(list);

    // Setup read-write combo
    m_rw->addItems(list);
    m_rw->completionObject()->setItems(list);

    // Setup history combo
    m_hc->addItems(list);
    m_hc->completionObject()->setItems(list + QStringList() << "One" << "Two" << "Three");

    // Setup konq's combobox
    KConfig historyConfig("konq_history", KConfig::SimpleConfig);
    KConfigGroup cg(&historyConfig, "Location Bar");
    KCompletion *s_pCompletion = new KCompletion;
    s_pCompletion->setOrder(KCompletion::Weighted);
    s_pCompletion->setItems(cg.readEntry("ComboContents", QStringList()));
    s_pCompletion->setCompletionMode(KCompletion::CompletionPopup);
    m_konqc->setCompletionObject(s_pCompletion);

    QPixmap pix(16, 16);
    pix.fill(Qt::blue);
    m_konqc->addItem(pix, "http://www.kde.org");
    m_konqc->setCurrentIndex(m_konqc->count() - 1);

    m_timer = new QTimer(this);
    connect(m_timer, &QTimer::timeout, this, &KComboBoxTest::slotTimeout);
}
Exemplo n.º 2
0
KComboBoxTest::KComboBoxTest(TQWidget* widget, const char* name )
              :TQWidget(widget, name)
{
  TQVBoxLayout *vbox = new TQVBoxLayout (this, KDialog::marginHint(), KDialog::spacingHint());
  
  // Test for KCombo's KLineEdit destruction
  KComboBox *testCombo = new KComboBox( true, this ); // rw, with KLineEdit
  testCombo->setEditable( false ); // destroys our KLineEdit
  assert( testCombo->delegate() == 0L );
  delete testCombo; // not needed anymore  
  
  // Qt combobox
  TQHBox* hbox = new TQHBox(this);
  hbox->setSpacing (KDialog::spacingHint());
  TQLabel* lbl = new TQLabel("&QCombobox:", hbox);
  lbl->setSizePolicy (TQSizePolicy::Maximum, TQSizePolicy::Preferred);
  
  m_qc = new TQComboBox(hbox, "QtReadOnlyCombo" );
  lbl->setBuddy (m_qc);  
  TQObject::connect (m_qc, TQT_SIGNAL(activated(int)), TQT_SLOT(slotActivated(int)));
  TQObject::connect (m_qc, TQT_SIGNAL(activated(const TQString&)), TQT_SLOT (slotActivated(const TQString&)));
  vbox->addWidget (hbox);
  
  // Read-only combobox
  hbox = new TQHBox(this);
  hbox->setSpacing (KDialog::spacingHint());
  lbl = new TQLabel("&Read-Only Combo:", hbox);
  lbl->setSizePolicy (TQSizePolicy::Maximum, TQSizePolicy::Preferred);

  m_ro = new KComboBox(hbox, "ReadOnlyCombo" );
  lbl->setBuddy (m_ro);
  m_ro->setCompletionMode( TDEGlobalSettings::CompletionAuto );
  TQObject::connect (m_ro, TQT_SIGNAL(activated(int)), TQT_SLOT(slotActivated(int)));
  TQObject::connect (m_ro, TQT_SIGNAL(activated(const TQString&)), TQT_SLOT (slotActivated(const TQString&)));
  vbox->addWidget (hbox);

  // Read-write combobox
  hbox = new TQHBox(this);
  hbox->setSpacing (KDialog::spacingHint());
  lbl = new TQLabel("&Editable Combo:", hbox);
  lbl->setSizePolicy (TQSizePolicy::Maximum, TQSizePolicy::Preferred);

  m_rw = new KComboBox( true, hbox, "ReadWriteCombo" );
  lbl->setBuddy (m_rw);
  m_rw->setDuplicatesEnabled( true );
  m_rw->setInsertionPolicy( TQComboBox::NoInsertion );
  m_rw->setTrapReturnKey( true );
  TQObject::connect (m_rw, TQT_SIGNAL(activated(int)), TQT_SLOT(slotActivated(int)));
  TQObject::connect (m_rw, TQT_SIGNAL(activated(const TQString&)), TQT_SLOT(slotActivated(const TQString&)));
  TQObject::connect (m_rw, TQT_SIGNAL(returnPressed()), TQT_SLOT(slotReturnPressed()));
  TQObject::connect (m_rw, TQT_SIGNAL(returnPressed(const TQString&)), TQT_SLOT(slotReturnPressed(const TQString&)));
  vbox->addWidget (hbox);

  // History combobox...
  hbox = new TQHBox(this);
  hbox->setSpacing (KDialog::spacingHint());
  lbl = new TQLabel("&History Combo:", hbox);
  lbl->setSizePolicy (TQSizePolicy::Maximum, TQSizePolicy::Preferred);

  m_hc = new KHistoryCombo( true, hbox, "HistoryCombo" );
  lbl->setBuddy (m_hc);
  m_hc->setDuplicatesEnabled( true );
  m_hc->setInsertionPolicy( TQComboBox::NoInsertion );
  TQObject::connect (m_hc, TQT_SIGNAL(activated(int)), TQT_SLOT(slotActivated(int)));
  TQObject::connect (m_hc, TQT_SIGNAL(activated(const TQString&)), TQT_SLOT(slotActivated(const TQString&)));
  TQObject::connect (m_hc, TQT_SIGNAL(returnPressed()), TQT_SLOT(slotReturnPressed()));  
  vbox->addWidget (hbox);
  m_hc->setTrapReturnKey(true);

  // Read-write combobox that is a replica of code in konqueror...
  hbox = new TQHBox(this);
  hbox->setSpacing (KDialog::spacingHint());
  lbl = new TQLabel( "&Konq's Combo:", hbox);
  lbl->setSizePolicy (TQSizePolicy::Maximum, TQSizePolicy::Preferred);

  m_konqc = new KComboBox( true, hbox, "KonqyCombo" );
  lbl->setBuddy (m_konqc);
  m_konqc->setMaxCount( 10 );
  TQObject::connect (m_konqc, TQT_SIGNAL(activated(int)), TQT_SLOT(slotActivated(int)));
  TQObject::connect (m_konqc, TQT_SIGNAL(activated(const TQString&)), TQT_SLOT (slotActivated(const TQString&)));
  TQObject::connect (m_konqc, TQT_SIGNAL(returnPressed()), TQT_SLOT(slotReturnPressed()));
  vbox->addWidget (hbox);

  // Create an exit button
  hbox = new TQHBox (this);
  m_btnExit = new TQPushButton( "E&xit", hbox );
  TQObject::connect( m_btnExit, TQT_SIGNAL(clicked()), TQT_SLOT(quitApp()) );

  // Create a disable button...
  m_btnEnable = new TQPushButton( "Disa&ble", hbox );
  TQObject::connect (m_btnEnable, TQT_SIGNAL(clicked()), TQT_SLOT(slotDisable()));

  vbox->addWidget (hbox);

  // Popuplate the select-only list box
  TQStringList list;
  list << "Stone" << "Tree" << "Peables" << "Ocean" << "Sand" << "Chips"
       << "Computer" << "Mankind";
  list.sort();
  
  // Setup the qcombobox
  m_qc->insertStringList (list);
  
  // Setup read-only combo
  m_ro->insertStringList( list );
  m_ro->completionObject()->setItems( list );

  // Setup read-write combo
  m_rw->insertStringList( list );
  m_rw->completionObject()->setItems( list );

  // Setup read-write combo
  m_hc->insertStringList( list );
  m_hc->completionObject()->setItems( list );

  // Setup konq's combobox
  KSimpleConfig historyConfig( "konq_history" );
  historyConfig.setGroup( "Location Bar" );
  TDECompletion * s_pCompletion = new TDECompletion;
  s_pCompletion->setOrder( TDECompletion::Weighted );
  s_pCompletion->setItems( historyConfig.readListEntry( "ComboContents" ) );
  s_pCompletion->setCompletionMode( TDEGlobalSettings::completionMode() );
  m_konqc->setCompletionObject( s_pCompletion );

  TQPixmap pix = SmallIcon("www");
  m_konqc->insertItem( pix, "http://www.kde.org" );
  m_konqc->setCurrentItem( m_konqc->count()-1 );

  m_timer = new TQTimer (this);
  connect (m_timer, TQT_SIGNAL (timeout()), TQT_SLOT (slotTimeout()));
}