/*************************************************************************** kimedialogs.cpp - description ------------------- begin : Tue Apr 17 2001 copyright : (C) 2001 by Jan Sch�er email : j_schaef@informatik.uni-kl.de ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ // QT //#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include // KDE #include #include #include #include #include #include #include #include #include #include // LOCAL #include "kimedialogs.h" CoordsEdit::CoordsEdit(TQWidget *parent, Area* a) : TQWidget(parent) { area=a; } void CoordsEdit::applyChanges() { return; } void CoordsEdit::slotTriggerUpdate() { applyChanges(); emit update(); } CoordsEdit::~CoordsEdit() { } RectCoordsEdit::RectCoordsEdit(TQWidget *parent, Area* a) : CoordsEdit(parent,a) { TQGridLayout *layout= new TQGridLayout(this,5,2,5,5); topXSpin = new TQSpinBox(this); topXSpin->setMaxValue(INT_MAX); topXSpin->setMinValue(0); topXSpin->setValue(a->rect().left()); layout->addWidget(topXSpin,0,1); connect( topXSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); TQLabel *lbl= new TQLabel(i18n("Top &X:"),this); lbl->setBuddy(topXSpin); layout->addWidget(lbl,0,0); topYSpin = new TQSpinBox(this); topYSpin->setMaxValue(INT_MAX); topYSpin->setMinValue(0); topYSpin->setValue(a->rect().top()); layout->addWidget(topYSpin,1,1); connect( topYSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); lbl= new TQLabel(i18n("Top &Y:"),this); lbl->setBuddy(topYSpin); layout->addWidget(lbl,1,0); widthSpin = new TQSpinBox(this); widthSpin->setMaxValue(INT_MAX); widthSpin->setMinValue(0); widthSpin->setValue(a->rect().width()); layout->addWidget(widthSpin,2,1); connect( widthSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); lbl= new TQLabel(i18n("&Width:"),this); lbl->setBuddy(widthSpin); layout->addWidget(lbl,2,0); heightSpin = new TQSpinBox(this); heightSpin->setMaxValue(INT_MAX); heightSpin->setMinValue(0); heightSpin->setValue(a->rect().height()); layout->addWidget(heightSpin,3,1); connect( heightSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); lbl= new TQLabel(i18n("Hei&ght:"),this); lbl->setBuddy(heightSpin); layout->addWidget(lbl,3,0); layout->setRowStretch(4,10); } void RectCoordsEdit::applyChanges() { TQRect r; r.setLeft(topXSpin->text().toInt()); r.setTop(topYSpin->text().toInt()); r.setWidth(widthSpin->text().toInt()); r.setHeight(heightSpin->text().toInt()); area->setRect(r); } CircleCoordsEdit::CircleCoordsEdit(TQWidget *parent, Area* a) : CoordsEdit(parent,a) { TQGridLayout *layout= new TQGridLayout(this,4,2,5,5); centerXSpin = new TQSpinBox(this); centerXSpin->setMaxValue(INT_MAX); centerXSpin->setMinValue(0); centerXSpin->setValue(a->rect().center().x()); layout->addWidget(centerXSpin,0,1); connect( centerXSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); TQLabel *lbl= new TQLabel(i18n("Center &X:"),this); lbl->setBuddy(centerXSpin); layout->addWidget(lbl,0,0); centerYSpin = new TQSpinBox(this); centerYSpin->setMaxValue(INT_MAX); centerYSpin->setMinValue(0); centerYSpin->setValue(a->rect().center().y()); layout->addWidget(centerYSpin,1,1); connect( centerYSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); lbl= new TQLabel(i18n("Center &Y:"),this); lbl->setBuddy(centerYSpin); layout->addWidget(lbl,1,0); radiusSpin = new TQSpinBox(this); radiusSpin->setMaxValue(INT_MAX); radiusSpin->setMinValue(0); radiusSpin->setValue(a->rect().width()/2); layout->addWidget(radiusSpin,2,1); connect( radiusSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); lbl= new TQLabel(i18n("&Radius:"),this); lbl->setBuddy(radiusSpin); layout->addWidget(lbl,2,0); layout->setRowStretch(3,10); } void CircleCoordsEdit::applyChanges() { TQRect r; r.setWidth(radiusSpin->text().toInt()*2); r.setHeight(radiusSpin->text().toInt()*2); r.moveCenter(TQPoint(centerXSpin->text().toInt(), centerYSpin->text().toInt())); area->setRect(r); } PolyCoordsEdit::PolyCoordsEdit(TQWidget *parent, Area* a) : CoordsEdit(parent,a) { if (!a) return; TQVBoxLayout *layout= new TQVBoxLayout(this); int numPoints=a->coords()->count(); coordsTable= new TQTable(numPoints,2,this); coordsTable->horizontalHeader()->setLabel(0,"X"); coordsTable->horizontalHeader()->setLabel(1,"Y"); coordsTable->verticalHeader()->hide(); coordsTable->setLeftMargin(0); coordsTable->setSelectionMode( TQTable::Single ); for (int i=0;isetText(i,0, TQString::number(area->coords()->point(i).x()) ); coordsTable->setText(i,1, TQString::number(area->coords()->point(i).y()) ); } connect( coordsTable, TQ_SIGNAL(currentChanged(int,int)), this, TQ_SLOT(slotHighlightPoint(int))); // coordsTable->setMinimumHeight(50); // coordsTable->setMaximumHeight(400); // coordsTable->resizeContents(100,100); coordsTable->resize(coordsTable->width(),100); layout->addWidget(coordsTable); layout->setStretchFactor(coordsTable,-1); TQHBox *hbox= new TQHBox(this); TQPushButton *addBtn=new TQPushButton(i18n("Add"),hbox); connect( addBtn, TQ_SIGNAL(pressed()), this, TQ_SLOT(slotAddPoint())); TQPushButton *removeBtn=new TQPushButton(i18n("Remove"),hbox); connect( removeBtn, TQ_SIGNAL(pressed()), this, TQ_SLOT(slotRemovePoint())); layout->addWidget(hbox); slotHighlightPoint(1); } PolyCoordsEdit::~PolyCoordsEdit() { if (area) area->highlightSelectionPoint(-1); } void PolyCoordsEdit::slotHighlightPoint(int row) { if (!area) return; area->highlightSelectionPoint(row); emit update(); } void PolyCoordsEdit::slotAddPoint() { int newPos= coordsTable->currentRow(); TQPoint currentPoint=area->coords()->point(newPos); area->insertCoord(newPos,currentPoint); int count=area->coords()->size(); coordsTable->setNumRows(count); for (int i=0;isetText(i,0, TQString::number(area->coords()->point(i).x()) ); coordsTable->setText(i,1, TQString::number(area->coords()->point(i).y()) ); } emit update(); } void PolyCoordsEdit::slotRemovePoint() { int currentPos= coordsTable->currentRow(); area->removeCoord(currentPos); int count=area->coords()->size(); coordsTable->setNumRows(count); for (int i=0;isetText(i,0, TQString::number(area->coords()->point(i).x()) ); coordsTable->setText(i,1, TQString::number(area->coords()->point(i).y()) ); } emit update(); } void PolyCoordsEdit::applyChanges() { int count=coordsTable->numRows(); for (int i=0;itext(i,0).toInt(), coordsTable->text(i,1).toInt()); area->moveCoord(i,newPoint); } } SelectionCoordsEdit::SelectionCoordsEdit(TQWidget *parent, Area* a) : CoordsEdit(parent,a) { TQGridLayout *layout= new TQGridLayout(this,2,2); topXSpin = new TQSpinBox(this); topXSpin->setMaxValue(INT_MAX); topXSpin->setMinValue(0); topXSpin->setValue(a->rect().left()); layout->addWidget(topXSpin,0,1); connect( topXSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); TQLabel *lbl= new TQLabel(i18n("Top &X"),this); lbl->setBuddy(topXSpin); layout->addWidget(lbl,0,0); topYSpin = new TQSpinBox(this); topYSpin->setMaxValue(INT_MAX); topYSpin->setMinValue(0); topYSpin->setValue(a->rect().top()); layout->addWidget(topYSpin,1,1); connect( topYSpin, TQ_SIGNAL(valueChanged(const TQString &)), this, TQ_SLOT(slotTriggerUpdate())); lbl= new TQLabel(i18n("Top &Y"),this); lbl->setBuddy(topYSpin); layout->addWidget(lbl,1,0); } void SelectionCoordsEdit::applyChanges() { area->moveTo(topXSpin->text().toInt(), topYSpin->text().toInt()); } TQLineEdit* AreaDialog::createLineEdit(TQWidget* parent, TQGridLayout *layout, int y, const TQString & value, const TQString & name) { TQLineEdit* edit=new TQLineEdit(value,parent); layout->addWidget(edit,y,2); TQLabel* lbl=new TQLabel(name,parent); lbl->setBuddy(edit); layout->addWidget(lbl,y,1); return edit; } TQWidget* AreaDialog::createGeneralPage() { TQFrame* page = new TQFrame(this); TQGridLayout* layout = new TQGridLayout(page,5,2,5,5); TQHBox *hbox= new TQHBox(page); hrefEdit = new TQLineEdit(area->attribute("href"),hbox); TQPushButton *btn = new TQPushButton("",hbox); btn->setPixmap(SmallIcon("document-open")); connect( btn, TQ_SIGNAL(pressed()), this, TQ_SLOT(slotChooseHref())); hbox->setMinimumHeight(hbox->height()); layout->addWidget(hbox,0,2); TQLabel *lbl=new TQLabel(i18n( "&HREF:" ),page); lbl->setBuddy(hrefEdit); layout->addWidget(lbl,0,1); altEdit = createLineEdit(page,layout,1,area->attribute("alt"),i18n("Alt. &Text:")); targetEdit = createLineEdit(page,layout,2,area->attribute("target"),i18n("Tar&get:")); titleEdit = createLineEdit(page,layout,3,area->attribute("title"),i18n("Tit&le:")); if (area->type()==Area::Default) { defaultAreaChk = new TQCheckBox(i18n("Enable default map"),page); if (area->finished()) defaultAreaChk->setChecked(true); layout->addWidget(defaultAreaChk,3,2); } layout->setRowStretch(4,10); return page; } TQWidget* AreaDialog::createCoordsPage() { TQFrame* page = new TQFrame(this); TQVBoxLayout *layout = new TQVBoxLayout(page); layout->setMargin(5); coordsEdit = createCoordsEdit(page,area); layout->addWidget(coordsEdit); connect( coordsEdit, TQ_SIGNAL(update()), this, TQ_SLOT(slotUpdateArea())); return page; } TQWidget* AreaDialog::createJavascriptPage() { TQFrame* page = new TQFrame(this); TQGridLayout* layout = new TQGridLayout(page,8,2,5,5); onClickEdit = createLineEdit(page,layout,0,area->attribute("onClick"),i18n("OnClick:")); onDblClickEdit = createLineEdit(page,layout,1,area->attribute("onDblClick"),i18n("OnDblClick:")); onMouseDownEdit = createLineEdit(page,layout,2,area->attribute("onMouseDown"),i18n("OnMouseDown:")); onMouseUpEdit = createLineEdit(page,layout,3,area->attribute("onMouseUp"),i18n("OnMouseUp:")); onMouseOverEdit = createLineEdit(page,layout,4,area->attribute("onMouseOver"),i18n("OnMouseOver:")); onMouseMoveEdit = createLineEdit(page,layout,5,area->attribute("onMouseMove"),i18n("OnMouseMove:")); onMouseOutEdit = createLineEdit(page,layout,6,area->attribute("onMouseOut"),i18n("OnMouseOut:")); layout->setRowStretch(7,10); return page; } TQWidget* AreaDialog::createButtonBar() { TQHBox *box = new TQHBox(this); TQWidget *spacer = new TQWidget(box); TQPushButton *okBtn = new KPushButton(KStdGuiItem::ok(),box); TQPushButton *applyBtn = new KPushButton(KStdGuiItem::apply(),box); TQPushButton *cancelBtn = new KPushButton(KStdGuiItem::cancel(),box); connect(okBtn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotOk())); connect(applyBtn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotApply())); connect(cancelBtn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotCancel())); box->setSpacing(5); box->setStretchFactor(spacer,10); okBtn->setDefault(true); return box; } AreaDialog::AreaDialog(KImageMapEditor* parent,Area * a) : KDialog(parent->widget(),"",true) // : KDialogBase(Tabbed,i18n("Area Tag Editor"),Ok|Apply|Cancel,Ok,parent,"") // : KDialogBase(parent,"",true,"Area Tag Editor",Ok|Apply|Cancel,Ok,true) { if (!a) { slotCancel(); return; } _document=parent; setCaption(i18n("Area Tag Editor")); area=a; TQString shape="Default"; areaCopy= a->clone(); oldArea= new Area(); oldArea->setRect( a->rect() ); switch (a->type()) { case Area::Rectangle : shape=i18n("Rectangle");break; case Area::Circle : shape=i18n("Circle");break; case Area::Polygon : shape=i18n("Polygon");break; case Area::Selection : shape=i18n("Selection");break; default : break; } // To get a margin around everything TQVBoxLayout *layout = new TQVBoxLayout(this); layout->setMargin(5); TQLabel *lbl = new TQLabel(""+shape+"",this); lbl->setTextFormat(TQt::RichText); layout->addWidget(lbl); TQFrame *line = new TQFrame(this); line->setFrameStyle(TQFrame::HLine | TQFrame::Sunken); line->setFixedHeight(10); layout->addWidget(line); TQTabWidget *tab = new TQTabWidget(this); layout->addWidget(tab); tab->addTab(createGeneralPage(),i18n("&General")); if (a->type()==Area::Default) { shape=i18n("Default"); } else tab->addTab(createCoordsPage(),i18n("Coor&dinates")); tab->addTab(createJavascriptPage(),i18n("&JavaScript")); line = new TQFrame(this); line->setFrameStyle(TQFrame::HLine | TQFrame::Sunken); line->setFixedHeight(10); layout->addWidget(line); layout->addWidget(createButtonBar()); setMinimumHeight(360); setMinimumWidth(327); resize(327,360); } AreaDialog::~AreaDialog() { delete areaCopy; delete oldArea; } CoordsEdit* AreaDialog::createCoordsEdit(TQWidget *parent, Area *a) { if (!a) return 0; switch (a->type()) { case Area::Rectangle : return new RectCoordsEdit(parent,a); break; case Area::Circle : return new CircleCoordsEdit(parent,a); break; case Area::Polygon : return new PolyCoordsEdit(parent,a); break; case Area::Selection : return new SelectionCoordsEdit(parent,a); break; case Area::Default : return new CoordsEdit(parent,a); break; default : return new CoordsEdit(parent,a);break; } } void AreaDialog::slotChooseHref() { KURL url=KFileDialog::getOpenURL(TQString(), "*|" + i18n( "All Files" ), this, i18n("Choose File")); if (!url.isEmpty()) { hrefEdit->setText(url.url()); } } void AreaDialog::slotOk() { if (area) { area->highlightSelectionPoint(-1); if (area->type()==Area::Default) area->setFinished(defaultAreaChk->isChecked()); } slotApply(); accept(); } void AreaDialog::slotApply() { if (area) { if (area->type()!=Area::Default) coordsEdit->applyChanges(); area->setAttribute("href",hrefEdit->text()); area->setAttribute("alt",altEdit->text()); area->setAttribute("target",targetEdit->text()); area->setAttribute("title",titleEdit->text()); area->setAttribute("onclick",onClickEdit->text()); area->setAttribute("ondblclick",onDblClickEdit->text()); area->setAttribute("onmousedown",onMouseDownEdit->text()); area->setAttribute("onmouseup",onMouseUpEdit->text()); area->setAttribute("onmousemove",onMouseMoveEdit->text()); area->setAttribute("onmouseover",onMouseOverEdit->text()); area->setAttribute("onmouseout",onMouseOutEdit->text()); // redraw old area to get rid of it emit areaChanged(oldArea); // draw new area emit areaChanged(area); oldArea->setRect(area->rect()); } } void AreaDialog::slotCancel() { if (area) { AreaSelection *selection=0L; if ( (selection=dynamic_cast(areaCopy)) ) area->setArea(*selection); else area->setArea(*areaCopy); area->highlightSelectionPoint(-1); emit areaChanged(oldArea); emit areaChanged(area); } reject(); } void AreaDialog::slotUpdateArea() { emit areaChanged(oldArea); // draw new area emit areaChanged(area); oldArea->setRect(area->rect()); } ImageMapChooseDialog::ImageMapChooseDialog(TQWidget* parent,TQPtrList *_maps,TQPtrList *_images,const KURL & _baseUrl) : KDialogBase(parent,"",true,i18n( "Choose Map & Image to Edit" ),Ok,Ok,true) { baseUrl=_baseUrl; maps=_maps; images=_images; currentMap=0L; TQWidget *page=new TQWidget(this); setMainWidget(page); setCaption(baseUrl.fileName()); TQVBoxLayout *layout = new TQVBoxLayout(page,5,5); TQLabel *lbl= new TQLabel(i18n("Select an image and/or a map that you want to edit"),page); lbl->setFont(TQFont("Sans Serif",12, TQFont::Bold)); layout->addWidget(lbl); TQFrame *line= new TQFrame(page); line->setFrameStyle(TQFrame::HLine | TQFrame::Sunken); line->setFixedHeight(10); layout->addWidget(line,0); TQGridLayout *gridLayout= new TQGridLayout(layout,2,3,5); gridLayout->setRowStretch(0,0); gridLayout->setRowStretch(1,100); lbl=new TQLabel(i18n("&Maps"),page); mapListBox= new TQListBox(page); lbl->setBuddy(mapListBox); gridLayout->addWidget(lbl,0,0); gridLayout->addWidget(mapListBox,1,0); line= new TQFrame(page); line->setFrameStyle(TQFrame::VLine | TQFrame::Sunken); line->setFixedWidth(10); // line->setSizePolicy(TQSizePolicy(TQSizePolicy::Fixed, TQSizePolicy::Expanding)); gridLayout->addWidget(line,1,1); lbl=new TQLabel(i18n("Image Preview"),page); gridLayout->addWidget(lbl,0,2); imagePreview= new TQLabel(page); imagePreview->setFixedSize(310,210); imagePreview->setSizePolicy(TQSizePolicy(TQSizePolicy::Fixed, TQSizePolicy::Expanding)); imagePreview->setFrameStyle(TQLabel::Panel | TQLabel::Sunken); imagePreview->setIndent(5); imagePreview->setBackgroundColor(TQColor("white")); // imagePreview->setLineWidth(2); // imagePreview->setScaledContents(true); // lbl= new TQLabel(i18n("&Maps"),page); // lbl->setBuddy(mapListBox); gridLayout->addWidget(imagePreview,1,2); // layout->addLayout(gridLayout,1); line= new TQFrame(page); line->setFrameStyle(TQFrame::HLine | TQFrame::Sunken); line->setFixedHeight(10); layout->addWidget(line,0); if (maps->isEmpty()) { mapListBox->insertItem(i18n("No maps found")); mapListBox->setEnabled(false); } else { for (MapTag *tag = maps->first(); tag!=0L; tag=maps->next()) { mapListBox->insertItem(tag->name); } connect (mapListBox, TQ_SIGNAL(highlighted(int)), this, TQ_SLOT(slotMapChanged(int))); } initImageListTable(page); if (! maps->isEmpty()) { mapListBox->setCurrentItem(0); slotMapChanged(0); } resize(510,460); } void ImageMapChooseDialog::initImageListTable(TQWidget* parent) { if (images->isEmpty()) { imageListTable= new TQTable(1,1,parent); imageListTable->setText(0,0,i18n("No images found")); imageListTable->setEnabled(false); imageListTable->horizontalHeader()->hide(); imageListTable->setTopMargin(0); imageListTable->setColumnStretchable(0,true); } else { imageListTable= new TQTable(images->count(),2,parent); imageListTable->setColumnStretchable(0,true); } imageListTable->verticalHeader()->hide(); imageListTable->setLeftMargin(0); TQLabel *lbl= new TQLabel(i18n("&Images"),parent); lbl->setBuddy(imageListTable); parent->layout()->add(lbl); parent->layout()->add(imageListTable); if (images->isEmpty()) return; imageListTable->horizontalHeader()->setLabel(0,i18n("Path")); imageListTable->horizontalHeader()->setLabel(1,"usemap"); imageListTable->setSelectionMode(TQTable::SingleRow); imageListTable->setFocusStyle(TQTable::FollowStyle); imageListTable->clearSelection(true); int row=0; for (ImageTag *tag = images->first(); tag!=0L; tag=images->next()) { TQString src=""; TQString usemap=""; if (tag->find("src")) src=*tag->find("src"); if (tag->find("usemap")) usemap=*tag->find("usemap"); imageListTable->setText(row,0,src); imageListTable->setText(row,1,usemap); row++; } connect (imageListTable, TQ_SIGNAL(selectionChanged()), this, TQ_SLOT(slotImageChanged())); imageListTable->selectRow(0); slotImageChanged(); } ImageMapChooseDialog::~ImageMapChooseDialog() { } void ImageMapChooseDialog::slotImageChanged() { int i=imageListTable->currentRow(); TQImage pix; if (images->at(i)->find("src")) { TQString str=*images->at(i)->find("src"); // relative url pixUrl=KURL(baseUrl,str); pix=TQImage(pixUrl.path()); double zoom1=1; double zoom2=1; if (pix.width()>300) zoom1=(double) 300/pix.width(); if (pix.height()>200) zoom2=(double) 200/pix.height(); zoom1= zoom1 < zoom2 ? zoom1 : zoom2; pix=pix.smoothScale((int)(pix.width()*zoom1),int(pix.height()*zoom1)); } TQPixmap pix2; pix2.convertFromImage(pix); imagePreview->setPixmap(pix2); // imagePreview->repaint(); } void ImageMapChooseDialog::selectImageWithUsemap(const TQString & usemap) { for (int i=0; inumRows(); i++) { if (imageListTable->text(i,1)==usemap) { imageListTable->selectRow(i); slotImageChanged(); return; } } } void ImageMapChooseDialog::slotMapChanged(int i) { currentMap=maps->at(i); selectImageWithUsemap(currentMap->name); } PreferencesDialog::PreferencesDialog(TQWidget *parent, TDEConfig* conf) : KDialogBase(parent,"",true,i18n("Preferences"),Ok|Apply|Cancel,Ok,true) { config = conf; TQVBox *page=new TQVBox(this); page->setSpacing(6); setMainWidget(page); TQHBox *hbox= new TQHBox(page); TQLabel *lbl = new TQLabel(i18n("&Maximum image preview height:")+" ",hbox); rowHeightSpinBox = new TQSpinBox(hbox); lbl->setBuddy(rowHeightSpinBox); config->setGroup("Appearance"); rowHeightSpinBox->setMaxValue(1000); rowHeightSpinBox->setMinValue(15); rowHeightSpinBox->setFixedWidth(60); rowHeightSpinBox->setValue(config->readNumEntry("maximum-preview-height",50)); config->setGroup("General"); hbox= new TQHBox(page); lbl = new TQLabel(i18n("&Undo limit:")+" ",hbox); undoSpinBox = new TQSpinBox(hbox); undoSpinBox->setFixedWidth(60); lbl->setBuddy(undoSpinBox); undoSpinBox->setMaxValue(100); undoSpinBox->setMinValue(1); undoSpinBox->setValue(config->readNumEntry("undo-level",20)); hbox= new TQHBox(page); lbl = new TQLabel(i18n("&Redo limit:")+" ",hbox); redoSpinBox = new TQSpinBox(hbox); redoSpinBox->setFixedWidth(60); redoSpinBox->setMaxValue(100); redoSpinBox->setMinValue(1); redoSpinBox->setValue(config->readNumEntry("redo-level",20)); lbl->setBuddy(redoSpinBox); startWithCheck = new TQCheckBox(i18n("&Start with last used document"),page); startWithCheck->setChecked(config->readBoolEntry("start-with-last-used-document",true)); /* hbox= new TQHBox(page); (void)new TQLabel(i18n("Highlight Areas")+" ",hbox); colorizeAreaChk = new TQCheckBox(hbox); colorizeAreaChk->setFixedWidth(60); colorizeAreaChk->setChecked(kapp->config()->readBoolEntry("highlightareas",true)); hbox= new TQHBox(page); (void)new TQLabel(i18n("Show alternative text")+" ",hbox); showAltChk = new TQCheckBox(hbox); showAltChk->setFixedWidth(60); showAltChk->setChecked(kapp->config()->readBoolEntry("showalt",true)); */ } PreferencesDialog::~PreferencesDialog() { } void PreferencesDialog::slotDefault( void ) { rowHeightSpinBox->setValue(50); } void PreferencesDialog::slotOk( void ) { slotApply(); accept(); } void PreferencesDialog::slotApply( void ) { config->setGroup("Appearance"); config->writeEntry("maximum-preview-height",rowHeightSpinBox->cleanText().toInt()); config->setGroup("General Options"); config->writeEntry("undo-level",undoSpinBox->cleanText().toInt()); config->writeEntry("redo-level",redoSpinBox->cleanText().toInt()); config->writeEntry("start-with-last-used-document", startWithCheck->isChecked()); config->sync(); emit applyClicked(); } HTMLPreviewDialog::HTMLPreviewDialog(TQWidget* parent, KURL url, const TQString & htmlCode) : KDialogBase(parent, "", true, i18n("Preview"), KDialogBase::Ok) { tempFile = new KTempFile(url.directory(false), ".html"); tempFile->setAutoDelete(true); (*tempFile->textStream()) << htmlCode; kdDebug() << "HTMLPreviewDialog: TempFile : " << tempFile->name() << endl; tempFile->close(); TQVBox *page = makeVBoxMainWidget(); htmlPart = new TDEHTMLPart(page,"htmlpart"); // htmlView = new TDEHTMLView(htmlPart, page); // htmlView->setVScrollBarMode(TQScrollView::Auto); // htmlView->setHScrollBarMode(TQScrollView::Auto); // dialog->resize(dialog->calculateSize(edit->maxLineWidth(),edit->numLines()*)); // dialog->adjustSize(); TQLabel* lbl = new TQLabel(page,"urllabel"); connect( htmlPart, TQ_SIGNAL( onURL(const TQString&)), lbl, TQ_SLOT( setText(const TQString&))); } HTMLPreviewDialog::~HTMLPreviewDialog() { delete tempFile; delete htmlPart; } void HTMLPreviewDialog::show() { KDialogBase::show(); htmlPart->openURL(KURL( tempFile->name() )); // htmlView->layout(); // htmlView->repaint(); resize(800,600); } #include "kimedialogs.moc"