const int IMAGEITEM = 7;
const int RECTITEM = 3;
const int TEXTITEM = 8;
+static bool insertingValues = false;
TitleWidget::TitleWidget(KUrl url, QString projectTitlePath, Render *render, QWidget *parent) :
QDialog(parent),
graphicsView->setInteractive(true);
//graphicsView->resize(400, 300);
kDebug() << "// TITLE WIDGWT: " << graphicsView->viewport()->width() << "x" << graphicsView->viewport()->height();
- toolBox->setItemEnabled(2, false);
+ //toolBox->setItemEnabled(2, false);
if (!url.isEmpty()) {
m_count = m_titledocument.loadDocument(url, m_startViewport, m_endViewport) + 1;
slotSelectTool();
{
m_scene->setTool(TITLE_TEXT);
showToolbars(TITLE_TEXT);
- m_buttonRect->setChecked(false);
- m_buttonCursor->setChecked(false);
+ checkButton(TITLE_TEXT);
}
void TitleWidget::slotRectTool()
{
m_scene->setTool(TITLE_RECTANGLE);
showToolbars(TITLE_RECTANGLE);
- m_buttonText->setChecked(false);
- m_buttonCursor->setChecked(false);
- m_buttonRect->setChecked(true);
+ checkButton(TITLE_RECTANGLE);
}
void TitleWidget::slotSelectTool()
updateRotZoom(l.at(0));
}
- m_buttonCursor->setChecked(true);
- m_buttonText->setChecked(false);
- m_buttonRect->setChecked(false);
+ checkButton(TITLE_SELECT);
}
void TitleWidget::slotImageTool()
}
m_scene->setTool(TITLE_SELECT);
showToolbars(TITLE_SELECT);
- m_buttonRect->setChecked(false);
- m_buttonCursor->setChecked(true);
- m_buttonText->setChecked(false);
+ checkButton(TITLE_NONE);
}
void TitleWidget::showToolbars(TITLETOOL toolType)
{
bool bText = false;
bool bRect = false;
+ bool bImage = false;
bool bNone = false;
switch (toolType) {
case TITLE_RECTANGLE:
bRect = true;
break;
- case TITLE_IMAGE: //fall through
+ case TITLE_IMAGE:
+ bImage = true;
+ break;
default:
bNone = true;
break;
}
text_properties->setHidden(!bText);
rect_properties->setHidden(!bRect);
+ image_properties->setHidden(!bImage);
no_properties->setHidden(!bNone);
}
bool bFrame = false;
bool bText = false;
bool bRect = false;
+ bool bImage = false;
bool bValue_w = false;
bool bValue_h = false;
bFrame = true;
bValue_w = true;
bValue_h = true;
+ bImage = true;
break;
default:
break;
frame_properties->setEnabled(bFrame);
text_properties->setEnabled(bText);
rect_properties->setEnabled(bRect);
+ image_properties->setEnabled(bImage);
value_w->setEnabled(bValue_w);
value_h->setEnabled(bValue_h);
}
+void TitleWidget::checkButton(TITLETOOL toolType)
+{
+ bool bSelect = false;
+ bool bText = false;
+ bool bRect = false;
+ bool bImage = false;
+
+ switch (toolType) {
+ case TITLE_SELECT:
+ bSelect = true;
+ break;
+ case TITLE_TEXT:
+ bText = true;
+ break;
+ case TITLE_RECTANGLE:
+ bRect = true;
+ break;
+ case TITLE_IMAGE:
+ bImage = true;
+ break;
+ case TITLE_NONE:
+ break;
+ }
+
+ m_buttonCursor->setChecked(bSelect);
+ m_buttonText->setChecked(bText);
+ m_buttonRect->setChecked(bRect);
+ m_buttonImage->setChecked(bImage);
+}
+
void TitleWidget::displayBackgroundFrame()
{
if (!displayBg->isChecked()) {
m_startViewport->setPen(startpen);
m_endViewport->setPen(endpen);
- startViewportSize->setValue(40);
- endViewportSize->setValue(40);
+ startViewportSize->setValue(100);
+ endViewportSize->setValue(100);
m_startViewport->setZValue(-1000);
m_endViewport->setZValue(-1000);
void TitleWidget::slotNewRect(QGraphicsRectItem * rect)
{
+ updateAxisButtons(rect); // back to default
+
QColor f = rectFColor->color();
f.setAlpha(rectFAlpha->value());
QPen penf(f);
void TitleWidget::slotNewText(QGraphicsTextItem *tt)
{
+ updateAxisButtons(tt); // back to default
+
QFont font = font_family->currentFont();
font.setPixelSize(font_size->value());
// mbd: issue 551:
enableToolbars(TITLE_RECTANGLE);
} else if (l.at(0)->type() == IMAGEITEM) {
+ showToolbars(TITLE_IMAGE);
+
updateCoordinates(l.at(0));
updateDimension(l.at(0));
} else {
//toolBox->setCurrentIndex(0);
+ showToolbars(TITLE_NONE);
enableToolbars(TITLE_NONE);
/*frame_properties->setEnabled(false);
text_properties->setEnabled(false);
void TitleWidget::setupViewports()
{
- double aspect_ratio = 4.0 / 3.0;//read from project
-
- QRectF sp(0, 0, 0, 0);
- QRectF ep(0, 0, 0, 0);
-
- double sv_size = startViewportSize->value();
- double ev_size = endViewportSize->value();
- sp.adjust(-sv_size, -sv_size / aspect_ratio, sv_size, sv_size / aspect_ratio);
- ep.adjust(-ev_size, -ev_size / aspect_ratio, ev_size, ev_size / aspect_ratio);
-
- m_startViewport->setPos(startViewportX->value(), startViewportY->value());
- m_endViewport->setPos(endViewportX->value(), endViewportY->value());
-
- m_startViewport->setPolygon(QPolygonF(sp));
- m_endViewport->setPolygon(QPolygonF(ep));
-
+ //double aspect_ratio = 4.0 / 3.0;//read from project
+ //better zoom centered, but render uses only the created rect, so no problem to change the zoom function
+ QRectF sp(0, 0, startViewportSize->value() * m_frameWidth / 100.0 , startViewportSize->value()* m_frameHeight / 100.0);
+ QRectF ep(0, 0, endViewportSize->value() * m_frameWidth / 100.0, endViewportSize->value() * m_frameHeight / 100.0);
+ // use a polygon thiat uses 16:9 and 4:3 rects forpreview the size in all aspect ratios ?
+ QPolygonF spoly(sp);
+ QPolygonF epoly(ep);
+ spoly.translate(startViewportX->value(), startViewportY->value());
+ epoly.translate(endViewportX->value(), endViewportY->value());
+ m_startViewport->setPolygon(spoly);
+ m_endViewport->setPolygon(epoly);
+ if (! insertingValues) {
+ m_startViewport->setData(0, startViewportX->value());
+ m_startViewport->setData(1, startViewportY->value());
+ m_startViewport->setData(2, startViewportSize->value());
+
+ m_endViewport->setData(0, endViewportX->value());
+ m_endViewport->setData(1, endViewportY->value());
+ m_endViewport->setData(2, endViewportSize->value());
+ }
}
void TitleWidget::loadTitle()
if (items.at(i)->zValue() > -1000) delete items.at(i);
}
m_count = m_titledocument.loadDocument(url, m_startViewport, m_endViewport) + 1;
+ insertingValues = true;
+ startViewportX->setValue(m_startViewport->data(0).toInt());
+ startViewportY->setValue(m_startViewport->data(1).toInt());
+ startViewportSize->setValue(m_startViewport->data(2).toInt());
+ endViewportX->setValue(m_endViewport->data(0).toInt());
+ endViewportY->setValue(m_endViewport->data(1).toInt());
+ endViewportSize->setValue(m_endViewport->data(2).toInt());
+ insertingValues = false;
slotSelectTool();
}
}