]> git.sesse.net Git - kdenlive/commitdiff
Fixes and refactoring in Titler (tool bars showing at the wrong time, axis buttons...
authorSimon A. Eugster <simon.eu@gmail.com>
Tue, 21 Jul 2009 14:45:10 +0000 (14:45 +0000)
committerSimon A. Eugster <simon.eu@gmail.com>
Tue, 21 Jul 2009 14:45:10 +0000 (14:45 +0000)
svn path=/trunk/kdenlive/; revision=3754

src/titlewidget.cpp
src/titlewidget.h
src/widgets/titlewidget_ui.ui

index edbaef46f6581c7a691b26bfbaea797dc3611934..8da43320429ebe929cc4d0c69697300b671159a9 100644 (file)
@@ -316,17 +316,14 @@ void TitleWidget::slotTextTool()
 {
     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()
@@ -358,9 +355,7 @@ 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()
@@ -385,15 +380,14 @@ 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) {
@@ -403,13 +397,16 @@ void TitleWidget::showToolbars(TITLETOOL toolType)
     case TITLE_RECTANGLE:
         bRect = true;
         break;
-    case TITLE_IMAGE: //fall through
+    case TITLE_IMAGE:
+        bImage = true;
+               break;
     default:
-        bNone = true;
+               bNone = true;
         break;
     }
     text_properties->setHidden(!bText);
     rect_properties->setHidden(!bRect);
+       image_properties->setHidden(!bImage);
     no_properties->setHidden(!bNone);
 }
 
@@ -419,6 +416,7 @@ void TitleWidget::enableToolbars(TITLETOOL toolType)
     bool bFrame = false;
     bool bText = false;
     bool bRect = false;
+       bool bImage = false;
     bool bValue_w = false;
     bool bValue_h = false;
 
@@ -439,6 +437,7 @@ void TitleWidget::enableToolbars(TITLETOOL toolType)
         bFrame = true;
         bValue_w = true;
         bValue_h = true;
+               bImage = true;
         break;
     default:
         break;
@@ -446,10 +445,41 @@ void TitleWidget::enableToolbars(TITLETOOL toolType)
     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()) {
@@ -532,6 +562,8 @@ void TitleWidget::slotZoomOneToOne()
 
 void TitleWidget::slotNewRect(QGraphicsRectItem * rect)
 {
+       updateAxisButtons(rect); // back to default
+       
     QColor f = rectFColor->color();
     f.setAlpha(rectFAlpha->value());
     QPen penf(f);
@@ -547,6 +579,8 @@ void TitleWidget::slotNewRect(QGraphicsRectItem * rect)
 
 void TitleWidget::slotNewText(QGraphicsTextItem *tt)
 {
+       updateAxisButtons(tt); // back to default
+       
     QFont font = font_family->currentFont();
     font.setPixelSize(font_size->value());
     // mbd: issue 551:
@@ -677,6 +711,8 @@ void TitleWidget::selectionChanged()
             enableToolbars(TITLE_RECTANGLE);
 
         } else if (l.at(0)->type() == IMAGEITEM) {
+                       showToolbars(TITLE_IMAGE);
+                       
             updateCoordinates(l.at(0));
             updateDimension(l.at(0));
 
@@ -684,6 +720,7 @@ void TitleWidget::selectionChanged()
 
         } else {
             //toolBox->setCurrentIndex(0);
+                       showToolbars(TITLE_NONE);
             enableToolbars(TITLE_NONE);
             /*frame_properties->setEnabled(false);
             text_properties->setEnabled(false);
@@ -1215,7 +1252,7 @@ void TitleWidget::itemVCenter()
 
 void TitleWidget::setupViewports()
 {
-    double aspect_ratio = 4.0 / 3.0;//read from project
+    //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);
index c000197b15ca4df47b76ee049c3ea4b315edcc16..08a965055f184fffaaf7971fcd6f96fad65a890f 100644 (file)
@@ -132,6 +132,8 @@ private:
     void enableToolbars(TITLETOOL toolType);
     /** \brief Shows the toolbars suiting to toolType */
     void showToolbars(TITLETOOL toolType);
+       /** \brief Check a tool button. */
+       void checkButton(TITLETOOL toolType);
 
 public slots:
     void slotNewText(QGraphicsTextItem *tt);
index 359fb1a5c3e28cb3e3b6f5f82c64b0fed5e75ba2..2b6bce23a7e1255dbf9428110001035b21a13c97 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>906</width>
-    <height>442</height>
+    <width>913</width>
+    <height>519</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -20,7 +20,7 @@
    <string>Title Clip</string>
   </property>
   <layout class="QGridLayout" name="gridLayout_2">
-   <item row="5" column="8">
+   <item row="6" column="8">
     <spacer name="horizontalSpacer_3">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
       <enum>QFrame::Sunken</enum>
      </property>
      <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <property name="leftMargin">
+       <number>4</number>
+      </property>
+      <property name="topMargin">
+       <number>4</number>
+      </property>
+      <property name="rightMargin">
+       <number>2</number>
+      </property>
+      <property name="bottomMargin">
+       <number>3</number>
+      </property>
       <item>
        <widget class="QLabel" name="label">
         <property name="font">
       <enum>QFrame::Sunken</enum>
      </property>
      <layout class="QGridLayout" name="gridLayout_4">
-      <property name="margin">
+      <property name="leftMargin">
+       <number>4</number>
+      </property>
+      <property name="topMargin">
+       <number>2</number>
+      </property>
+      <property name="rightMargin">
+       <number>2</number>
+      </property>
+      <property name="bottomMargin">
        <number>2</number>
       </property>
       <item row="0" column="0">
        <number>2</number>
       </property>
       <property name="rightMargin">
+       <number>4</number>
+      </property>
+      <property name="bottomMargin">
        <number>2</number>
       </property>
       <item row="4" column="0">
      </layout>
     </widget>
    </item>
-   <item row="4" column="1" colspan="9">
+   <item row="5" column="1" colspan="9">
     <widget class="QSplitter" name="splitter">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
      <widget class="QGraphicsView" name="graphicsView"/>
      <widget class="QToolBox" name="toolBox">
       <property name="currentIndex">
-       <number>0</number>
+       <number>1</number>
       </property>
       <widget class="QWidget" name="BasicOperations">
        <property name="geometry">
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>431</width>
-         <height>140</height>
+         <width>450</width>
+         <height>122</height>
         </rect>
        </property>
        <attribute name="label">
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>431</width>
-         <height>144</height>
+         <width>450</width>
+         <height>122</height>
         </rect>
        </property>
        <attribute name="label">
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>416</width>
-         <height>198</height>
+         <width>434</width>
+         <height>230</height>
         </rect>
        </property>
        <attribute name="label">
      </widget>
     </widget>
    </item>
-   <item row="5" column="1">
+   <item row="6" column="1">
     <widget class="QToolButton" name="buttonFitZoom">
      <property name="text">
       <string>V</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="2">
+   <item row="6" column="2">
     <widget class="QToolButton" name="buttonRealSize">
      <property name="text">
       <string>V</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="3" colspan="2">
+   <item row="6" column="3" colspan="2">
     <widget class="QSlider" name="zoom_slider">
      <property name="minimumSize">
       <size>
      </property>
     </widget>
    </item>
-   <item row="5" column="5">
+   <item row="6" column="5">
     <widget class="QLabel" name="zoom_label">
      <property name="text">
       <string>x1</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="6">
+   <item row="6" column="6">
     <widget class="QCheckBox" name="displayBg">
      <property name="text">
       <string>Show background</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="9">
+   <item row="6" column="9">
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
     </widget>
    </item>
-   <item row="5" column="7">
+   <item row="6" column="7">
     <widget class="QCheckBox" name="cropImage">
      <property name="text">
       <string>Crop to frame size</string>
      </property>
     </widget>
    </item>
+   <item row="4" column="1" colspan="9">
+    <widget class="QFrame" name="image_properties">
+     <property name="frameShape">
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Raised</enum>
+     </property>
+     <layout class="QGridLayout" name="gridLayout_6">
+      <property name="leftMargin">
+       <number>4</number>
+      </property>
+      <property name="topMargin">
+       <number>2</number>
+      </property>
+      <property name="rightMargin">
+       <number>2</number>
+      </property>
+      <property name="bottomMargin">
+       <number>2</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QCheckBox" name="preserveAspectRatio">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>Preserve aspect ratio</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <spacer name="horizontalSpacer_6">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
   </layout>
  </widget>
  <customwidgets>