26#include <tqhgroupbox.h> 
   27#include <tqvgroupbox.h> 
   28#include <tqvbuttongroup.h> 
   29#include <tqradiobutton.h> 
   30#include <tqcheckbox.h> 
   31#include <tqlineedit.h> 
   34#include <tqpushbutton.h> 
   35#include <tqfiledialog.h> 
   36#include <tqtextstream.h> 
   41#include <tdefiledialog.h> 
   45#include <tdestandarddirs.h> 
   48#include <kurlrequester.h> 
   49#include <tdeio/netaccess.h> 
   50#include <knotifyclient.h> 
   51#include <tdetempfile.h> 
   52#include <tdemessagebox.h> 
   55#include <libkcal/htmlexportsettings.h> 
   57#include <libtdepim/kdateedit.h> 
   58#include <libtdepim/kdateedit.h> 
   63#include "exportwebdialog.h" 
   64#include "exportwebdialog.moc" 
   71ExportWebDialog::ExportWebDialog( HTMLExportSettings *settings, TQWidget *parent,
 
   73  : KDialogBase( Tabbed,i18n(
"Export Calendar as Web Page"),Help|Default|User1|Cancel, User1, parent, name, false, false, i18n(
"Export") ),
 
   74    KPrefsWidManager( settings ), mSettings( settings )
 
   84  connect( 
this, TQ_SIGNAL( user1Clicked() ), TQ_SLOT( slotOk() ) );
 
   85  connect( 
this, TQ_SIGNAL( cancelClicked() ), TQ_SLOT( reject() ) );
 
   91ExportWebDialog::~ExportWebDialog()
 
   95void ExportWebDialog::setDefaults()
 
  100void ExportWebDialog::readConfig()
 
  106void ExportWebDialog::writeConfig()
 
  113void ExportWebDialog::slotApply()
 
  116  emit configChanged();
 
  119void ExportWebDialog::slotOk()
 
  122  emit exportHTML( mSettings );
 
  126void ExportWebDialog::slotDefault()
 
  128  kdDebug(5850) << 
"KPrefsDialog::slotDefault()" << endl;
 
  130  if (KMessageBox::warningContinueCancel(
this,
 
  131      i18n(
"You are about to set all preferences to default values. All " 
  132      "custom modifications will be lost."),i18n(
"Setting Default Preferences"),
 
  133      i18n(
"Reset to Defaults"))
 
  134    == KMessageBox::Continue) setDefaults();
 
  138void ExportWebDialog::setupGeneralPage()
 
  140  mGeneralPage = addPage( i18n(
"General") );
 
  141  TQVBoxLayout *topLayout = 
new TQVBoxLayout(mGeneralPage, 10);
 
  143  mDateRangeBox = 
new TQHGroupBox( i18n(
"Date Range"), mGeneralPage );
 
  144  topLayout->addWidget( mDateRangeBox );
 
  145  addWidDate( mSettings->dateStartItem(), mDateRangeBox );
 
  146  addWidDate( mSettings->dateEndItem(), mDateRangeBox );
 
  148  TQButtonGroup *typeGroup = 
new TQVButtonGroup( i18n(
"View Type"), mGeneralPage );
 
  149  topLayout->addWidget( typeGroup );
 
  151  mMonthViewCheckBox = addWidBool( mSettings->monthViewItem(), typeGroup )->checkBox();
 
  152  connect( mMonthViewCheckBox, TQ_SIGNAL(toggled(
bool)), TQ_SLOT(updateState()) );
 
  153  mEventListCheckBox = addWidBool( mSettings->eventViewItem(), typeGroup )->checkBox();
 
  154  connect( mEventListCheckBox, TQ_SIGNAL(toggled(
bool)), TQ_SLOT(updateState()) );
 
  155  addWidBool( mSettings->todoViewItem(), typeGroup );
 
  158  addWidBool( mSettings->excludePrivateItem(), typeGroup );
 
  159  addWidBool( mSettings->excludeConfidentialItem(), typeGroup );
 
  161  TQGroupBox *destGroup = 
new TQVGroupBox(i18n(
"Destination"), mGeneralPage );
 
  162  topLayout->addWidget(destGroup);
 
  163  KPrefsWidPath *pathWid = addWidPath( mSettings->outputFileItem(),
 
  164                                       destGroup, 
"text/html", KFile::File );
 
  165  connect( pathWid->urlRequester(), TQ_SIGNAL( textChanged( 
const TQString & ) ),
 
  166           TQ_SLOT( slotTextChanged( 
const TQString & ) ) );
 
  168  topLayout->addStretch( 1 );
 
  171void ExportWebDialog::slotTextChanged( 
const TQString & _text)
 
  173    enableButton( User1, !_text.isEmpty() );
 
  176void ExportWebDialog::setupTodoPage()
 
  178  mTodoPage = addPage(i18n(
"To-dos"));
 
  179  TQVBoxLayout *topLayout = 
new TQVBoxLayout( mTodoPage, 10 );
 
  181  TQHBox *hbox = 
new TQHBox( mTodoPage );
 
  182  topLayout->addWidget( hbox );
 
  183  addWidString( mSettings->todoListTitleItem(), hbox );
 
  185  TQVBox *vbox = 
new TQVBox( mTodoPage );
 
  186  topLayout->addWidget( vbox );
 
  187  addWidBool( mSettings->taskDueDateItem(), vbox );
 
  188  addWidBool( mSettings->taskLocationItem(), vbox );
 
  189  addWidBool( mSettings->taskCategoriesItem(), vbox );
 
  190  addWidBool( mSettings->taskAttendeesItem(), vbox );
 
  194  topLayout->addStretch(1);
 
  197void ExportWebDialog::setupEventPage()
 
  199  mEventPage = addPage(i18n(
"Events"));
 
  200  TQVBoxLayout *topLayout = 
new TQVBoxLayout( mEventPage, 10 );
 
  202  TQHBox *hbox = 
new TQHBox( mEventPage );
 
  203  topLayout->addWidget( hbox );
 
  204  addWidString( mSettings->eventTitleItem(), hbox );
 
  206  TQVBox *vbox = 
new TQVBox( mEventPage );
 
  207  topLayout->addWidget( vbox );
 
  208  addWidBool( mSettings->eventLocationItem(), vbox );
 
  209  addWidBool( mSettings->eventCategoriesItem(), vbox );
 
  210  addWidBool( mSettings->eventAttendeesItem(), vbox );
 
  214  topLayout->addStretch(1);
 
  262void ExportWebDialog::updateState()
 
  264  const bool exportEvents = mMonthViewCheckBox->isChecked() || mEventListCheckBox->isChecked();
 
  265  mDateRangeBox->setEnabled( exportEvents );
 
  266  mEventPage->setEnabled( exportEvents );