#include <kdialog.h>
#include <tdelocale.h>

/****************************************************************************
** Form implementation generated from reading ui file 'knewstickerconfigwidget.ui'
**
** Created by: The TQt user interface compiler (TQt 3.5.0)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/

#include "knewstickerconfigwidget.h"

#include <ntqvariant.h>
#include <ntqpushbutton.h>
#include <ntqtabwidget.h>
#include <ntqgroupbox.h>
#include <knuminput.h>
#include <ntqlabel.h>
#include <ntqslider.h>
#include <ntqcheckbox.h>
#include <tdelistview.h>
#include <kcombobox.h>
#include <klineedit.h>
#include <kcolorbutton.h>
#include <ntqlayout.h>
#include <ntqtooltip.h>
#include <ntqwhatsthis.h>

/*
 *  Constructs a KNewsTickerConfigWidget as a child of 'parent', with the
 *  name 'name' and widget flags set to 'f'.
 */
KNewsTickerConfigWidget::KNewsTickerConfigWidget( TQWidget* parent, const char* name, WFlags fl )
    : TQWidget( parent, name, fl )
{
    if ( !name )
	setName( "KNewsTickerConfigWidget" );
    setSizePolicy( TQSizePolicy( (TQSizePolicy::SizeType)3, (TQSizePolicy::SizeType)5, 0, 0, sizePolicy().hasHeightForWidth() ) );
    KNewsTickerConfigWidgetLayout = new TQVBoxLayout( this, 4, 4, "KNewsTickerConfigWidgetLayout"); 

    tabScrollerPreferences = new TQTabWidget( this, "tabScrollerPreferences" );

    tabGeneral = new TQWidget( tabScrollerPreferences, "tabGeneral" );
    tabGeneralLayout = new TQVBoxLayout( tabGeneral, 4, 4, "tabGeneralLayout"); 

    gbGeneral = new TQGroupBox( tabGeneral, "gbGeneral" );
    gbGeneral->setColumnLayout(0, TQt::Vertical );
    gbGeneral->layout()->setSpacing( 6 );
    gbGeneral->layout()->setMargin( 11 );
    gbGeneralLayout = new TQGridLayout( gbGeneral->layout() );
    gbGeneralLayout->setAlignment( TQt::AlignTop );

    niInterval = new KIntNumInput( gbGeneral, "niInterval" );
    niInterval->setEnabled( true );
    niInterval->setValue( 30 );

    gbGeneralLayout->addMultiCellWidget( niInterval, 2, 2, 0, 1 );

    Layout5 = new TQHBoxLayout( 0, 0, 6, "Layout5"); 

    lNonSensitive = new TQLabel( gbGeneral, "lNonSensitive" );
    Layout5->addWidget( lNonSensitive );

    sliderMouseWheelSpeed = new TQSlider( gbGeneral, "sliderMouseWheelSpeed" );
    sliderMouseWheelSpeed->setMinValue( 1 );
    sliderMouseWheelSpeed->setMaxValue( 10 );
    sliderMouseWheelSpeed->setOrientation( TQSlider::Horizontal );
    sliderMouseWheelSpeed->setTickInterval( 150 );
    Layout5->addWidget( sliderMouseWheelSpeed );

    lSensitive = new TQLabel( gbGeneral, "lSensitive" );
    Layout5->addWidget( lSensitive );

    gbGeneralLayout->addMultiCellLayout( Layout5, 1, 1, 0, 1 );

    lMouseWheelSensitivity = new TQLabel( gbGeneral, "lMouseWheelSensitivity" );

    gbGeneralLayout->addMultiCellWidget( lMouseWheelSensitivity, 0, 0, 0, 1 );

    cbCustomNames = new TQCheckBox( gbGeneral, "cbCustomNames" );

    gbGeneralLayout->addWidget( cbCustomNames, 3, 0 );
    tabGeneralLayout->addWidget( gbGeneral );
    Spacer5_2 = new TQSpacerItem( 20, 20, TQSizePolicy::Minimum, TQSizePolicy::Expanding );
    tabGeneralLayout->addItem( Spacer5_2 );
    tabScrollerPreferences->insertTab( tabGeneral, TQString::fromLatin1("") );

    tabNewsSources = new TQWidget( tabScrollerPreferences, "tabNewsSources" );
    tabNewsSourcesLayout = new TQGridLayout( tabNewsSources, 1, 1, 4, 4, "tabNewsSourcesLayout"); 

    lvNewsSources = new TDEListView( tabNewsSources, "lvNewsSources" );
    lvNewsSources->addColumn( tr2i18n( "Name of Site" ) );
    lvNewsSources->addColumn( tr2i18n( "Source File" ) );
    lvNewsSources->addColumn( tr2i18n( "Max. Articles" ) );
    lvNewsSources->setAllColumnsShowFocus( true );
    lvNewsSources->setRootIsDecorated( true );

    tabNewsSourcesLayout->addMultiCellWidget( lvNewsSources, 0, 0, 0, 3 );

    bRemoveNewsSource = new TQPushButton( tabNewsSources, "bRemoveNewsSource" );
    bRemoveNewsSource->setEnabled( false );

    tabNewsSourcesLayout->addWidget( bRemoveNewsSource, 1, 3 );
    Spacer3 = new TQSpacerItem( 20, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum );
    tabNewsSourcesLayout->addItem( Spacer3, 1, 0 );

    bAddNewsSource = new TQPushButton( tabNewsSources, "bAddNewsSource" );

    tabNewsSourcesLayout->addWidget( bAddNewsSource, 1, 1 );

    bModifyNewsSource = new TQPushButton( tabNewsSources, "bModifyNewsSource" );
    bModifyNewsSource->setEnabled( false );

    tabNewsSourcesLayout->addWidget( bModifyNewsSource, 1, 2 );
    tabScrollerPreferences->insertTab( tabNewsSources, TQString::fromLatin1("") );

    tabFilters = new TQWidget( tabScrollerPreferences, "tabFilters" );
    tabFiltersLayout = new TQGridLayout( tabFilters, 1, 1, 4, 4, "tabFiltersLayout"); 

    lvFilters = new TDEListView( tabFilters, "lvFilters" );
    lvFilters->addColumn( tr2i18n( "Action" ) );
    lvFilters->header()->setClickEnabled( false, lvFilters->header()->count() - 1 );
    lvFilters->addColumn( TQString::null );
    lvFilters->header()->setClickEnabled( false, lvFilters->header()->count() - 1 );
    lvFilters->addColumn( tr2i18n( "Affects" ) );
    lvFilters->header()->setClickEnabled( false, lvFilters->header()->count() - 1 );
    lvFilters->addColumn( TQString::null );
    lvFilters->header()->setClickEnabled( false, lvFilters->header()->count() - 1 );
    lvFilters->addColumn( tr2i18n( "Condition" ) );
    lvFilters->header()->setClickEnabled( false, lvFilters->header()->count() - 1 );
    lvFilters->addColumn( tr2i18n( "Expression" ) );
    lvFilters->header()->setClickEnabled( false, lvFilters->header()->count() - 1 );
    lvFilters->setAllColumnsShowFocus( true );
    lvFilters->setRootIsDecorated( true );

    tabFiltersLayout->addMultiCellWidget( lvFilters, 0, 0, 0, 2 );
    Spacer9 = new TQSpacerItem( 20, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum );
    tabFiltersLayout->addItem( Spacer9, 2, 0 );

    bRemoveFilter = new TQPushButton( tabFilters, "bRemoveFilter" );
    bRemoveFilter->setEnabled( false );

    tabFiltersLayout->addWidget( bRemoveFilter, 2, 2 );

    bAddFilter = new TQPushButton( tabFilters, "bAddFilter" );

    tabFiltersLayout->addWidget( bAddFilter, 2, 1 );

    gbFilterProperties = new TQGroupBox( tabFilters, "gbFilterProperties" );
    gbFilterProperties->setColumnLayout(0, TQt::Vertical );
    gbFilterProperties->layout()->setSpacing( 6 );
    gbFilterProperties->layout()->setMargin( 11 );
    gbFilterPropertiesLayout = new TQGridLayout( gbFilterProperties->layout() );
    gbFilterPropertiesLayout->setAlignment( TQt::AlignTop );

    comboFilterAction = new KComboBox( false, gbFilterProperties, "comboFilterAction" );

    gbFilterPropertiesLayout->addMultiCellWidget( comboFilterAction, 0, 0, 0, 2 );
    Spacer5 = new TQSpacerItem( 20, 20, TQSizePolicy::Fixed, TQSizePolicy::Minimum );
    gbFilterPropertiesLayout->addItem( Spacer5, 1, 0 );

    lArticles = new TQLabel( gbFilterProperties, "lArticles" );

    gbFilterPropertiesLayout->addWidget( lArticles, 0, 3 );

    comboFilterNewsSource = new KComboBox( false, gbFilterProperties, "comboFilterNewsSource" );

    gbFilterPropertiesLayout->addMultiCellWidget( comboFilterNewsSource, 0, 0, 4, 5 );

    lwhose = new TQLabel( gbFilterProperties, "lwhose" );

    gbFilterPropertiesLayout->addWidget( lwhose, 0, 6 );

    leFilterExpression = new KLineEdit( gbFilterProperties, "leFilterExpression" );

    gbFilterPropertiesLayout->addMultiCellWidget( leFilterExpression, 1, 1, 5, 7 );
    Spacer15 = new TQSpacerItem( 20, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum );
    gbFilterPropertiesLayout->addItem( Spacer15, 0, 7 );

    lHeadlines = new TQLabel( gbFilterProperties, "lHeadlines" );

    gbFilterPropertiesLayout->addWidget( lHeadlines, 1, 1 );

    comboFilterCondition = new KComboBox( false, gbFilterProperties, "comboFilterCondition" );

    gbFilterPropertiesLayout->addMultiCellWidget( comboFilterCondition, 1, 1, 2, 4 );

    tabFiltersLayout->addMultiCellWidget( gbFilterProperties, 1, 1, 0, 2 );
    tabScrollerPreferences->insertTab( tabFilters, TQString::fromLatin1("") );

    tabScrollerPreferences_2 = new TQWidget( tabScrollerPreferences, "tabScrollerPreferences_2" );
    tabScrollerPreferencesLayout = new TQVBoxLayout( tabScrollerPreferences_2, 4, 4, "tabScrollerPreferencesLayout"); 

    gbScrollerBehaviour = new TQGroupBox( tabScrollerPreferences_2, "gbScrollerBehaviour" );
    gbScrollerBehaviour->setColumnLayout(0, TQt::Vertical );
    gbScrollerBehaviour->layout()->setSpacing( 6 );
    gbScrollerBehaviour->layout()->setMargin( 11 );
    gbScrollerBehaviourLayout = new TQGridLayout( gbScrollerBehaviour->layout() );
    gbScrollerBehaviourLayout->setAlignment( TQt::AlignTop );

    Layout5_2 = new TQVBoxLayout( 0, 0, 6, "Layout5_2"); 

    lScrollingSpeed = new TQLabel( gbScrollerBehaviour, "lScrollingSpeed" );
    Layout5_2->addWidget( lScrollingSpeed );

    Layout6_2 = new TQHBoxLayout( 0, 0, 6, "Layout6_2"); 

    lSlow = new TQLabel( gbScrollerBehaviour, "lSlow" );
    Layout6_2->addWidget( lSlow );

    sliderScrollSpeed = new TQSlider( gbScrollerBehaviour, "sliderScrollSpeed" );
    sliderScrollSpeed->setMinValue( 1 );
    sliderScrollSpeed->setMaxValue( 100 );
    sliderScrollSpeed->setOrientation( TQSlider::Horizontal );
    sliderScrollSpeed->setTickInterval( 10 );
    Layout6_2->addWidget( sliderScrollSpeed );

    lFast = new TQLabel( gbScrollerBehaviour, "lFast" );
    Layout6_2->addWidget( lFast );
    Layout5_2->addLayout( Layout6_2 );

    gbScrollerBehaviourLayout->addMultiCellLayout( Layout5_2, 0, 0, 0, 1 );

    lDirectionOfScrolling_2 = new TQLabel( gbScrollerBehaviour, "lDirectionOfScrolling_2" );

    gbScrollerBehaviourLayout->addWidget( lDirectionOfScrolling_2, 1, 0 );

    comboDirection = new KComboBox( false, gbScrollerBehaviour, "comboDirection" );

    gbScrollerBehaviourLayout->addWidget( comboDirection, 1, 1 );
    tabScrollerPreferencesLayout->addWidget( gbScrollerBehaviour );

    gbScrollerAppearance = new TQGroupBox( tabScrollerPreferences_2, "gbScrollerAppearance" );
    gbScrollerAppearance->setEnabled( true );
    gbScrollerAppearance->setColumnLayout(0, TQt::Vertical );
    gbScrollerAppearance->layout()->setSpacing( 6 );
    gbScrollerAppearance->layout()->setMargin( 11 );
    gbScrollerAppearanceLayout = new TQGridLayout( gbScrollerAppearance->layout() );
    gbScrollerAppearanceLayout->setAlignment( TQt::AlignTop );

    lHighlightedColor_2 = new TQLabel( gbScrollerAppearance, "lHighlightedColor_2" );

    gbScrollerAppearanceLayout->addWidget( lHighlightedColor_2, 3, 0 );

    colorHighlighted = new KColorButton( gbScrollerAppearance, "colorHighlighted" );

    gbScrollerAppearanceLayout->addWidget( colorHighlighted, 3, 1 );

    lBackgroundColor_2 = new TQLabel( gbScrollerAppearance, "lBackgroundColor_2" );

    gbScrollerAppearanceLayout->addWidget( lBackgroundColor_2, 2, 0 );

    colorBackground = new KColorButton( gbScrollerAppearance, "colorBackground" );

    gbScrollerAppearanceLayout->addWidget( colorBackground, 2, 1 );

    lForegroundColor_2 = new TQLabel( gbScrollerAppearance, "lForegroundColor_2" );

    gbScrollerAppearanceLayout->addWidget( lForegroundColor_2, 1, 0 );

    colorForeground = new KColorButton( gbScrollerAppearance, "colorForeground" );

    gbScrollerAppearanceLayout->addWidget( colorForeground, 1, 1 );

    lFont_2 = new TQLabel( gbScrollerAppearance, "lFont_2" );

    gbScrollerAppearanceLayout->addWidget( lFont_2, 0, 0 );

    bChooseFont = new TQPushButton( gbScrollerAppearance, "bChooseFont" );

    gbScrollerAppearanceLayout->addWidget( bChooseFont, 0, 1 );
    tabScrollerPreferencesLayout->addWidget( gbScrollerAppearance );

    gbMiscScrollingOptions = new TQGroupBox( tabScrollerPreferences_2, "gbMiscScrollingOptions" );
    gbMiscScrollingOptions->setColumnLayout(0, TQt::Vertical );
    gbMiscScrollingOptions->layout()->setSpacing( 6 );
    gbMiscScrollingOptions->layout()->setMargin( 11 );
    gbMiscScrollingOptionsLayout = new TQGridLayout( gbMiscScrollingOptions->layout() );
    gbMiscScrollingOptionsLayout->setAlignment( TQt::AlignTop );

    cbScrollMostRecentOnly = new TQCheckBox( gbMiscScrollingOptions, "cbScrollMostRecentOnly" );

    gbMiscScrollingOptionsLayout->addWidget( cbScrollMostRecentOnly, 0, 0 );

    cbShowIcons = new TQCheckBox( gbMiscScrollingOptions, "cbShowIcons" );

    gbMiscScrollingOptionsLayout->addWidget( cbShowIcons, 0, 1 );

    cbSlowedScrolling = new TQCheckBox( gbMiscScrollingOptions, "cbSlowedScrolling" );

    gbMiscScrollingOptionsLayout->addWidget( cbSlowedScrolling, 1, 0 );

    cbUnderlineHighlighted = new TQCheckBox( gbMiscScrollingOptions, "cbUnderlineHighlighted" );

    gbMiscScrollingOptionsLayout->addWidget( cbUnderlineHighlighted, 1, 1 );
    tabScrollerPreferencesLayout->addWidget( gbMiscScrollingOptions );
    Spacer6 = new TQSpacerItem( 20, 20, TQSizePolicy::Minimum, TQSizePolicy::Expanding );
    tabScrollerPreferencesLayout->addItem( Spacer6 );
    tabScrollerPreferences->insertTab( tabScrollerPreferences_2, TQString::fromLatin1("") );
    KNewsTickerConfigWidgetLayout->addWidget( tabScrollerPreferences );
    languageChange();
    resize( TQSize(597, 525).expandedTo(minimumSizeHint()) );
    clearWState( WState_Polished );

    // tab order
    setTabOrder( sliderMouseWheelSpeed, niInterval );
    setTabOrder( niInterval, cbCustomNames );
    setTabOrder( cbCustomNames, lvNewsSources );
    setTabOrder( lvNewsSources, bAddNewsSource );
    setTabOrder( bAddNewsSource, bModifyNewsSource );
    setTabOrder( bModifyNewsSource, bRemoveNewsSource );
    setTabOrder( bRemoveNewsSource, lvFilters );
    setTabOrder( lvFilters, comboFilterAction );
    setTabOrder( comboFilterAction, comboFilterNewsSource );
    setTabOrder( comboFilterNewsSource, comboFilterCondition );
    setTabOrder( comboFilterCondition, leFilterExpression );
    setTabOrder( leFilterExpression, bAddFilter );
    setTabOrder( bAddFilter, bRemoveFilter );
    setTabOrder( bRemoveFilter, sliderScrollSpeed );
    setTabOrder( sliderScrollSpeed, comboDirection );
    setTabOrder( comboDirection, bChooseFont );
    setTabOrder( bChooseFont, colorForeground );
    setTabOrder( colorForeground, colorBackground );
    setTabOrder( colorBackground, colorHighlighted );
    setTabOrder( colorHighlighted, cbScrollMostRecentOnly );
    setTabOrder( cbScrollMostRecentOnly, cbShowIcons );
    setTabOrder( cbShowIcons, cbSlowedScrolling );
    setTabOrder( cbSlowedScrolling, cbUnderlineHighlighted );
    setTabOrder( cbUnderlineHighlighted, tabScrollerPreferences_2 );

    // buddies
    lMouseWheelSensitivity->setBuddy( sliderMouseWheelSpeed );
    lScrollingSpeed->setBuddy( sliderScrollSpeed );
    lDirectionOfScrolling_2->setBuddy( comboDirection );
    lHighlightedColor_2->setBuddy( colorHighlighted );
    lBackgroundColor_2->setBuddy( colorBackground );
    lForegroundColor_2->setBuddy( colorForeground );
    lFont_2->setBuddy( bChooseFont );
}

/*
 *  Destroys the object and frees any allocated resources
 */
KNewsTickerConfigWidget::~KNewsTickerConfigWidget()
{
    // no need to delete child widgets, TQt does it all for us
}

/*
 *  Sets the strings of the subwidgets using the current
 *  language.
 */
void KNewsTickerConfigWidget::languageChange()
{
    gbGeneral->setTitle( tr2i18n( "General" ) );
    niInterval->setSuffix( tr2i18n( " min" ) );
    niInterval->setSpecialValueText( tr2i18n( "Never" ) );
    TQToolTip::add( niInterval, tr2i18n( "Interval of news queries" ) );
    TQWhatsThis::add( niInterval, tr2i18n( "Here you can define at what interval KNewsTicker queries the configured news sources for new headlines. This depends generally on how fast you would like to hear about news and how much load you want to put on the network:<ul>\n"
"<li>A lower value (lower than <b>15 minutes</b>) enables you to get notified about news very quickly if you want or need to. Please note that it increases the network traffic significantly, though. Therefore, such low values should not be used if you query popular news sites (such as <a href=\"http://slashdot.org\">Slashdot</a> or <a href=\"http://freshmeat.net\">Freshmeat</a>) as they have generally already enough work processing the incoming queries.</li>\n"
"<li>A higher value (higher than <b>45 minutes</b>) will make you hear about news less quickly. For non-timecritical applications, it should be suitable, though. The positive aspect of longer intervals is that only very little load is put on the network; this saves resources and nerves, for you and the system administrators of the news sites you query.</li></ul>\n"
"The default value (30 minutes) should be appropriate and reasonable in most cases." ) );
    lNonSensitive->setText( tr2i18n( "Nonsensitive" ) );
    TQToolTip::add( lNonSensitive, tr2i18n( "Mousewheel sensitivity" ) );
    TQWhatsThis::add( lNonSensitive, tr2i18n( "This slider allows you to define how quickly/slowly the text should be scrolled when using the mousewheel." ) );
    TQToolTip::add( sliderMouseWheelSpeed, tr2i18n( "Mousewheel sensitivity" ) );
    TQWhatsThis::add( sliderMouseWheelSpeed, tr2i18n( "This slider allows you to define how fast/slow the text should be scrolled when using the mousewheel." ) );
    lSensitive->setText( tr2i18n( "Sensitive" ) );
    TQToolTip::add( lSensitive, tr2i18n( "Mousewheel sensitivity" ) );
    TQWhatsThis::add( lSensitive, tr2i18n( "This slider allows you to define how fast/slow the text should be scrolled when using the mousewheel." ) );
    lMouseWheelSensitivity->setText( tr2i18n( "&Mousewheel sensitivity:" ) );
    TQToolTip::add( lMouseWheelSensitivity, tr2i18n( "Mousewheel sensitivity" ) );
    TQWhatsThis::add( lMouseWheelSensitivity, tr2i18n( "This slider allows you to define how fast/slow the text should be scrolled when using the mousewheel." ) );
    cbCustomNames->setText( tr2i18n( "&Use custom names for news sites" ) );
    TQToolTip::add( cbCustomNames, tr2i18n( "Use the names defined in the list of news sources" ) );
    TQWhatsThis::add( cbCustomNames, tr2i18n( "Check this box to make the news ticker use the names you specified in the list of news sources (available on the tab labeled <i>News sources</i>) instead of the ones the news sites themselves report.<br>This can be handy for news sites which report a very long or useless name." ) );
    tabScrollerPreferences->changeTab( tabGeneral, tr2i18n( "General" ) );
    lvNewsSources->header()->setLabel( 0, tr2i18n( "Name of Site" ) );
    lvNewsSources->header()->setLabel( 1, tr2i18n( "Source File" ) );
    lvNewsSources->header()->setLabel( 2, tr2i18n( "Max. Articles" ) );
    TQToolTip::add( lvNewsSources, tr2i18n( "News sources to be queried" ) );
    TQWhatsThis::add( lvNewsSources, tr2i18n( "This list lets you manage the list of news sites the news ticker will query for headlines. The news sources are arranged in a tree-like hierarchy and sorted by topic.<br>The column labeled \"Max. articles\" shows how many articles will be cached for the news sites (read: how many articles will be accessible through the context menu).<ul>\n"
"<li>To add a site, you can either drag the URL of the RDF or RSS file to this list from Konqueror or any other application, or use the <i>Add...</i> button in the bottom right corner.</li>\n"
"<li>To modify a site, just double-click on the particular news source you would like to edit and an input field will pop up which lets you edit the respective property.</li>\n"
"<li>To remove a site, simply select a news source in the list and click on the <i>Remove</i> button in the lower right corner.</li></ul>\n"
"Note that you can also right-click on the list to open a menu which lets you add and remove news sources. You can also enable or disable certain news sources temporarily by checking or unchecking the box next to it; those news sources whose boxes are checked are considered activated and will be processed by KNewsTicker." ) );
    bRemoveNewsSource->setText( tr2i18n( "R&emove" ) );
    TQToolTip::add( bRemoveNewsSource, tr2i18n( "Remove selected site" ) );
    TQWhatsThis::add( bRemoveNewsSource, tr2i18n( "Click this button to remove the currently selected news site from the list." ) );
    bAddNewsSource->setText( tr2i18n( "Add..." ) );
    TQToolTip::add( bAddNewsSource, tr2i18n( "Add a new site" ) );
    TQWhatsThis::add( bAddNewsSource, tr2i18n( "Click this button to add a new site to the list. Note that you can also drag a RDF or RSS file to this list (i.e. from Konqueror) to add it to the list." ) );
    bModifyNewsSource->setText( tr2i18n( "&Modify..." ) );
    TQToolTip::add( bModifyNewsSource, tr2i18n( "Modify selected news source" ) );
    TQWhatsThis::add( bModifyNewsSource, tr2i18n( "Click this button to open a dialog which lets you edit the properties (such as the name, the source file, or the icon) of the currently selected news source." ) );
    tabScrollerPreferences->changeTab( tabNewsSources, tr2i18n( "News Sources" ) );
    lvFilters->header()->setLabel( 0, tr2i18n( "Action" ) );
    lvFilters->header()->setLabel( 1, TQString::null );
    lvFilters->header()->setLabel( 2, tr2i18n( "Affects" ) );
    lvFilters->header()->setLabel( 3, TQString::null );
    lvFilters->header()->setLabel( 4, tr2i18n( "Condition" ) );
    lvFilters->header()->setLabel( 5, tr2i18n( "Expression" ) );
    TQToolTip::add( lvFilters, tr2i18n( "Currently configured filters" ) );
    TQWhatsThis::add( lvFilters, tr2i18n( "Here you can see the list of currently configured filters and manage them as well as add new filters. Managing them is fairly easy:<ul>\n"
"<li>To <b>add</b> a new filter, specify its properties in the box below labeled <i>Filter properties</i> and press the <i>Add</i> button in the lower right corner.</li>\n"
"<li><b>Modifying</b> an existing filter is done in a similar manner: simply select the filter you would like to edit in the list and change its properties in the box below.</li>\n"
"<li>Finally, to <b>remove</b> a filter, select it in the list and press the button labeled <i>Remove</i> in the lower right corner.</li></ul>\n"
"You can also enable or disable certain filters temporarily by checking or unchecking the box next to them; those filters whose boxes are checked are considered enabled and will be honored by KNewsTicker.<br>\n"
"Note that the filters are processed from the top to the bottom so that of two filters which might nullify each other (like \"Show...does not contain TDE\" and \"Show...contains TDE\") only the one which is lower in the list will take effect." ) );
    bRemoveFilter->setText( tr2i18n( "R&emove" ) );
    TQToolTip::add( bRemoveFilter, tr2i18n( "Remove selected filter" ) );
    TQWhatsThis::add( bRemoveFilter, tr2i18n( "Press this button to remove the selected filter from the list." ) );
    bAddFilter->setText( tr2i18n( "A&dd" ) );
    TQToolTip::add( bAddFilter, tr2i18n( "Add configured filter" ) );
    TQWhatsThis::add( bAddFilter, tr2i18n( "Press this button to add the configured filter to the list." ) );
    gbFilterProperties->setTitle( tr2i18n( "Filter Properties" ) );
    comboFilterAction->clear();
    comboFilterAction->insertItem( tr2i18n( "Hide" ) );
    comboFilterAction->insertItem( tr2i18n( "Show" ) );
    TQToolTip::add( comboFilterAction, tr2i18n( "Action for this filter" ) );
    TQWhatsThis::add( comboFilterAction, tr2i18n( "Here you can define what should happen if this filter matches (e.g. whether the matching articles should be shown or hidden)." ) );
    lArticles->setText( tr2i18n( "articles from" ) );
    comboFilterNewsSource->clear();
    comboFilterNewsSource->insertItem( tr2i18n( "all news sources" ) );
    TQToolTip::add( comboFilterNewsSource, tr2i18n( "Affected news sources" ) );
    TQWhatsThis::add( comboFilterNewsSource, tr2i18n( "Here you can specify which news sources (or all of them) are affected. Note that only the news sources which have been activated on the <i>News sources</i> tab are shown in this combo box." ) );
    lwhose->setText( tr2i18n( "whose" ) );
    TQToolTip::add( leFilterExpression, tr2i18n( "Keyword/Expression" ) );
    TQWhatsThis::add( leFilterExpression, tr2i18n( "Here you can type a keyword or expression to be used for this filter which depends on the condition you selected in the combo box at the right:<ul>\n"
"<li><b>contain</b>, <b>does not contain</b> - you should probably enter a keyword here, like \"TDE\", \"Baseball\" or \"Business\". The keyword is not case-sensitive so it does not matter whether you type \"tde\", \"TDE\" or \"tDe\".</li>\n"
"<li><b>equals</b>, <b>does not equal</b> - enter a phrase or expression here to have the filter match only those articles whose headlines match <b>exactly</b> the text you typed. The phrase you type will be considered to be case-sensitive, so it makes a difference whether you show articles which contain \"Boeing\" or \"BOEING\".</li>\n"
"<li><b>matches</b> - a regular expression is expected. Recommended only if you are familiar with regular expressions, i.e. it should be used by advanced users only.</li></ul>" ) );
    lHeadlines->setText( tr2i18n( "headlines" ) );
    comboFilterCondition->clear();
    comboFilterCondition->insertItem( tr2i18n( "contain" ) );
    comboFilterCondition->insertItem( tr2i18n( "do not contain" ) );
    comboFilterCondition->insertItem( tr2i18n( "equal" ) );
    comboFilterCondition->insertItem( tr2i18n( "do not equal" ) );
    comboFilterCondition->insertItem( tr2i18n( "match" ) );
    TQToolTip::add( comboFilterCondition, tr2i18n( "Condition for this filter" ) );
    TQWhatsThis::add( comboFilterCondition, tr2i18n( "This combo box lets you specify the condition under which the keyword/expression you entered in the input field at the right will match. You can select one of the following values:<ul>\n"
"<li>contain - the filter matches if the headline contains the keyword.</li>\n"
"<li>does not contain - the filter matches if the headline does not contain the keyword.</li>\n"
"<li>equals - the filter matches if the headline equals the expression.</li>\n"
"<li>does not equal - the filter matches if the headline does not equal the expression.</li>\n"
"<li>matches - the filter matches if the expression matches the headline. The expression you typed at the right will be considered a regular expression in this mode.</li>" ) );
    tabScrollerPreferences->changeTab( tabFilters, tr2i18n( "Filters" ) );
    gbScrollerBehaviour->setTitle( tr2i18n( "Behavior" ) );
    lScrollingSpeed->setText( tr2i18n( "&Scrolling speed:" ) );
    TQToolTip::add( lScrollingSpeed, tr2i18n( "Scrolling speed" ) );
    TQWhatsThis::add( lScrollingSpeed, tr2i18n( "Here you can define how fast the text should be scrolling. If you only have a little space on your taskbar (and therefore a rather small news ticker), you should probably set this to a slower speed so that you have a chance to read the headlines. For wider news tickers (and better eyes), faster scrolling is probably appropriate so that you do not have to wait too long for the next headline." ) );
    lSlow->setText( tr2i18n( "Slow" ) );
    TQToolTip::add( lSlow, tr2i18n( "Scrolling speed" ) );
    TQWhatsThis::add( lSlow, tr2i18n( "Here you can define how fast the text should be scrolling. If you only have a little space on your taskbar (and therefore a rather small news ticker), you should probably set this to a slower speed so that you have a chance to read the headlines. For wider news tickers (and better eyes), faster scrolling is probably appropriate so that you do not have to wait too long for the next headline." ) );
    TQToolTip::add( sliderScrollSpeed, tr2i18n( "Scrolling speed" ) );
    TQWhatsThis::add( sliderScrollSpeed, tr2i18n( "Here you can define how fast the text should be scrolling. If you only have a little space on your taskbar (and therefore a rather small news ticker), you should probably set this to a slower speed so that you have a chance to read the headlines. For wider news tickers (and better eyes), faster scrolling is probably appropriate so that you do not have to wait too long for the next headline." ) );
    lFast->setText( tr2i18n( "Fast" ) );
    TQToolTip::add( lFast, tr2i18n( "Scrolling speed" ) );
    TQWhatsThis::add( lFast, tr2i18n( "Here you can define how fast the text should be scrolling. If you only have a little space on your taskbar (and therefore a rather small news ticker), you should probably set this to a slower speed so that you have a chance to read the headlines. For wider news tickers (and better eyes), faster scrolling is probably appropriate so that you do not have to wait too long for the next headline." ) );
    lDirectionOfScrolling_2->setText( tr2i18n( "Di&rection of scrolling:" ) );
    TQToolTip::add( lDirectionOfScrolling_2, tr2i18n( "Direction of scrolling" ) );
    TQWhatsThis::add( lDirectionOfScrolling_2, tr2i18n( "These options allow you to define in what direction the text should be scrolled, e.g. to the left or to the right, upwards or downwards." ) );
    comboDirection->clear();
    comboDirection->insertItem( tr2i18n( "To the Left" ) );
    comboDirection->insertItem( tr2i18n( "To the Right" ) );
    comboDirection->insertItem( tr2i18n( "Upwards" ) );
    comboDirection->insertItem( tr2i18n( "Downwards" ) );
    comboDirection->insertItem( tr2i18n( "Upwards, Rotated" ) );
    comboDirection->insertItem( tr2i18n( "Downwards, Rotated" ) );
    TQToolTip::add( comboDirection, tr2i18n( "Direction of scrolling" ) );
    TQWhatsThis::add( comboDirection, tr2i18n( "These options allow you to define in what direction the text should be scrolled, e.g. to the left or to the right, upwards or downwards. Rotated means the text is rotated 90 degrees." ) );
    gbScrollerAppearance->setTitle( tr2i18n( "Appearance" ) );
    lHighlightedColor_2->setText( tr2i18n( "H&ighlighted color:" ) );
    TQToolTip::add( lHighlightedColor_2, tr2i18n( "Highlighted color" ) );
    TQWhatsThis::add( lHighlightedColor_2, tr2i18n( "Click the button at the right to open a convenient color-selection dialog which lets you choose the color of the headlines when they are highlighted (when you move the mouse over them)." ) );
    colorHighlighted->setText( TQString::null );
    TQToolTip::add( colorHighlighted, tr2i18n( "Highlighted color" ) );
    TQWhatsThis::add( colorHighlighted, tr2i18n( "Click this button to open a convenient color-selection dialog which lets you choose the color of the headlines when they are highlighted (when you move the mouse over them)." ) );
    lBackgroundColor_2->setText( tr2i18n( "&Background color:" ) );
    TQToolTip::add( lBackgroundColor_2, tr2i18n( "Background color" ) );
    TQWhatsThis::add( lBackgroundColor_2, tr2i18n( "Click the button at the right to open a convenient color-selection dialog which lets you choose the background color of the scrolling text." ) );
    colorBackground->setText( TQString::null );
    TQToolTip::add( colorBackground, tr2i18n( "Background color" ) );
    TQWhatsThis::add( colorBackground, tr2i18n( "Click this button to open a convenient color-selection dialog which lets you choose the background color of the scrolling text." ) );
    lForegroundColor_2->setText( tr2i18n( "&Foreground color:" ) );
    TQToolTip::add( lForegroundColor_2, tr2i18n( "Foreground color" ) );
    TQWhatsThis::add( lForegroundColor_2, tr2i18n( "Click the button at the right to open a convenient color-selection dialog which lets you choose the color of the scrolling text." ) );
    colorForeground->setText( TQString::null );
    TQToolTip::add( colorForeground, tr2i18n( "Foreground color" ) );
    TQWhatsThis::add( colorForeground, tr2i18n( "Click this button to open a convenient color-selection dialog which lets you choose the color of the scrolling text." ) );
    lFont_2->setText( tr2i18n( "F&ont:" ) );
    TQToolTip::add( lFont_2, tr2i18n( "Scrolling text font" ) );
    TQWhatsThis::add( lFont_2, tr2i18n( "Click on the button at the right labeled <i>Choose Font...</i> to choose the font which will be used for the scrolling text. Please note that certain fonts are harder to read than others, especially when they are used as scrolling text. You should probably choose a font which can be easily read while it is moving." ) );
    bChooseFont->setText( tr2i18n( "Choose Font..." ) );
    TQToolTip::add( bChooseFont, tr2i18n( "Scrolling text font" ) );
    TQWhatsThis::add( bChooseFont, tr2i18n( "Click here to choose the font which will be used for the scrolling text. Please note that certain fonts are harder to read than others, especially when they are used as a scrolling text. You should probably choose a font which can be easily read while it is moving." ) );
    gbMiscScrollingOptions->setTitle( tr2i18n( "Miscellaneous" ) );
    cbScrollMostRecentOnly->setText( tr2i18n( "Scroll the most recent headlines onl&y" ) );
    TQToolTip::add( cbScrollMostRecentOnly, tr2i18n( "Show only the most recent headline for each news site in the scroller" ) );
    TQWhatsThis::add( cbScrollMostRecentOnly, tr2i18n( "Check this button to show only the most recent headline for each news site. " ) );
    cbShowIcons->setText( tr2i18n( "Show icons" ) );
    TQToolTip::add( cbShowIcons, tr2i18n( "Show icons in the scrolling text" ) );
    TQWhatsThis::add( cbShowIcons, tr2i18n( "Click this button to make KNewsTicker show the icons of the news site to which each headline belongs. This makes associating a headline to a news site very easy but takes up some space in the text." ) );
    cbSlowedScrolling->setText( tr2i18n( "&Temporarily slowed scrolling" ) );
    TQToolTip::add( cbSlowedScrolling, tr2i18n( "Slow the scrolling down when mouse points at the scroller" ) );
    TQWhatsThis::add( cbSlowedScrolling, tr2i18n( "Check this box to make KNewsTicker slow the scrolling down when you move the mouse cursor over the scrolling text. This makes clicking on items and dragging the icons (if enabled) away a lot easier." ) );
    cbUnderlineHighlighted->setText( tr2i18n( "&Underline highlighted headline" ) );
    TQToolTip::add( cbUnderlineHighlighted, tr2i18n( "Underline the currently highlighted headline" ) );
    TQWhatsThis::add( cbUnderlineHighlighted, tr2i18n( "Check this box to have the currently highlighted headline (e.g. the headline which is currently under the mouse cursor) underlined." ) );
    tabScrollerPreferences->changeTab( tabScrollerPreferences_2, tr2i18n( "Scroller" ) );
}

/****************************************************************************
** KNewsTickerConfigWidget meta object code from reading C++ file 'knewstickerconfigwidget.h'
**
** Created by: The TQt Meta Object Compiler version 26 (TQt 3.5.0)
** WARNING! All changes made in this file will be lost!
*****************************************************************************/

#undef TQT_NO_COMPAT
#include "knewstickerconfigwidget.h"
#include <ntqmetaobject.h>
#include <ntqapplication.h>

#include <private/qucomextra_p.h>
#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26)
#error "This file was generated using the moc from 3.5.0. It"
#error "cannot be used with the include files from this version of TQt."
#error "(The moc has changed too much.)"
#endif

const char *KNewsTickerConfigWidget::className() const
{
    return "KNewsTickerConfigWidget";
}

TQMetaObject *KNewsTickerConfigWidget::metaObj = 0;
static TQMetaObjectCleanUp cleanUp_KNewsTickerConfigWidget( "KNewsTickerConfigWidget", &KNewsTickerConfigWidget::staticMetaObject );

#ifndef TQT_NO_TRANSLATION
TQString KNewsTickerConfigWidget::tr( const char *s, const char *c )
{
    if ( tqApp )
	return tqApp->translate( "KNewsTickerConfigWidget", s, c, TQApplication::DefaultCodec );
    else
	return TQString::fromLatin1( s );
}
#ifndef TQT_NO_TRANSLATION_UTF8
TQString KNewsTickerConfigWidget::trUtf8( const char *s, const char *c )
{
    if ( tqApp )
	return tqApp->translate( "KNewsTickerConfigWidget", s, c, TQApplication::UnicodeUTF8 );
    else
	return TQString::fromUtf8( s );
}
#endif // TQT_NO_TRANSLATION_UTF8

#endif // TQT_NO_TRANSLATION

TQMetaObject* KNewsTickerConfigWidget::staticMetaObject()
{
    if ( metaObj ) {
	return metaObj;
}
#ifdef TQT_THREAD_SUPPORT
    if (tqt_sharedMetaObjectMutex) tqt_sharedMetaObjectMutex->lock();
    if ( metaObj ) {
	if (tqt_sharedMetaObjectMutex) tqt_sharedMetaObjectMutex->unlock();
	return metaObj;
    }
#endif // TQT_THREAD_SUPPORT
    TQMetaObject* parentObject = TQWidget::staticMetaObject();
    static const TQUMethod slot_0 = {"languageChange", 0, 0 };
    static const TQMetaData slot_tbl[] = {
	{ "languageChange()", &slot_0, TQMetaData::Protected }
    };
    metaObj = TQMetaObject::new_metaobject(
	"KNewsTickerConfigWidget", parentObject,
	slot_tbl, 1,
	0, 0,
#ifndef TQT_NO_PROPERTIES
	0, 0,
	0, 0,
#endif // TQT_NO_PROPERTIES
	0, 0 );
    cleanUp_KNewsTickerConfigWidget.setMetaObject( metaObj );
#ifdef TQT_THREAD_SUPPORT
    if (tqt_sharedMetaObjectMutex) tqt_sharedMetaObjectMutex->unlock();
#endif // TQT_THREAD_SUPPORT
    return metaObj;
}

void* KNewsTickerConfigWidget::tqt_cast( const char* clname )
{
    if ( !qstrcmp( clname, "KNewsTickerConfigWidget" ) )
	return this;
    return TQWidget::tqt_cast( clname );
}

bool KNewsTickerConfigWidget::tqt_invoke( int _id, TQUObject* _o )
{
    switch ( _id - staticMetaObject()->slotOffset() ) {
    case 0: languageChange(); break;
    default:
	return TQWidget::tqt_invoke( _id, _o );
    }
    return true;
}

bool KNewsTickerConfigWidget::tqt_emit( int _id, TQUObject* _o )
{
    return TQWidget::tqt_emit(_id,_o);
}
#ifndef TQT_NO_PROPERTIES

bool KNewsTickerConfigWidget::tqt_property( int id, int f, TQVariant* v)
{
    return TQWidget::tqt_property( id, f, v);
}

bool KNewsTickerConfigWidget::tqt_static_property( TQObject* , int , int , TQVariant* ){ return false; }
#endif // TQT_NO_PROPERTIES
