]> git.sesse.net Git - kdenlive/commitdiff
title widget: small UI fixes and one crash fix
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 6 Apr 2008 09:52:54 +0000 (09:52 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 6 Apr 2008 09:52:54 +0000 (09:52 +0000)
svn path=/branches/KDE4/; revision=2157

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

index d7e2fb4164eb7a4861c725c5bac2a083c60f0748..12df0260c0f0181a6f9ef97b05975b8c34b9b680 100644 (file)
@@ -69,6 +69,7 @@ void GraphicsSceneRectMove::keyPressEvent(QKeyEvent * keyEvent) {
     case Qt::Key_Delete:
     case Qt::Key_Backspace:
         delete m_selectedItem;
+        m_selectedItem = NULL;
         emit selectionChanged();
         break;
     default:
index 918ff2c14633a534f8eb56b1c22a28d9b67b12a2..d0ebab329083d685e9bd593cd162ad3e2ab24420 100644 (file)
 #include <QDomDocument>
 #include <QGraphicsItem>
 #include <QGraphicsSvgItem>
-#include <QTextDocumentFragment>
 #include <QTimer>
 
+#include <QToolBar>
+#include <QMenu>
+
 #include <KDebug>
 #include <KGlobalSettings>
 #include <KFileDialog>
@@ -45,8 +47,7 @@ TitleWidget::TitleWidget(Render *render, QWidget *parent): QDialog(parent), m_fr
     connect(horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(slotChangeBackground())) ;
     //connect(ktextedit, SIGNAL(textChanged()), this , SLOT(textChanged()));
     //connect (fontBold, SIGNAL ( clicked()), this, SLOT( setBold()) ) ;
-    connect(buttonLoad, SIGNAL(clicked()), this, SLOT(loadTitle())) ;
-    connect(buttonSave, SIGNAL(clicked()), this, SLOT(saveTitle())) ;
+
 
     //ktextedit->setHidden(true);
     connect(fontColorButton, SIGNAL(clicked()), this, SLOT(slotUpdateText())) ;
@@ -90,18 +91,36 @@ TitleWidget::TitleWidget(Render *render, QWidget *parent): QDialog(parent), m_fr
     buttonItalic->setIcon(KIcon("format-text-italic"));
     buttonUnder->setIcon(KIcon("format-text-underline"));
 
-    buttonRect->setIcon(KIcon("insert-rect"));
-    buttonText->setIcon(KIcon("insert-text"));
-    buttonImage->setIcon(KIcon("insert-image"));
-    buttonCursor->setIcon(KIcon("select-rectangular"));
-    buttonSave->setIcon(KIcon("document-save"));
-    buttonLoad->setIcon(KIcon("document-open"));
+    QHBoxLayout *layout = new QHBoxLayout;
+    frame_toolbar->setLayout(layout);
+
+    QToolBar *m_toolbar = new QToolBar("titleToolBar", this);
+
+    m_buttonRect = m_toolbar->addAction(KIcon("insert-rect"), i18n("Add Rectangle"));
+    m_buttonRect->setCheckable(true);
+    connect(m_buttonRect, SIGNAL(triggered()), this, SLOT(slotRectTool()));
+
+    m_buttonText = m_toolbar->addAction(KIcon("insert-text"), i18n("Add Text"));
+    m_buttonText->setCheckable(true);
+    connect(m_buttonText, SIGNAL(triggered()), this, SLOT(slotTextTool()));
 
-    connect(buttonRect,  SIGNAL(clicked()), this, SLOT(slotRectTool()));
-    connect(buttonText,  SIGNAL(clicked()), this, SLOT(slotTextTool()));
-    connect(buttonImage,  SIGNAL(clicked()), this, SLOT(slotImageTool()));
-    connect(buttonCursor,  SIGNAL(clicked()), this, SLOT(slotSelectTool()));
+    m_buttonImage = m_toolbar->addAction(KIcon("insert-image"), i18n("Add Image"));
+    m_buttonImage->setCheckable(true);
+    connect(m_buttonImage, SIGNAL(triggered()), this, SLOT(slotImageTool()));
 
+    m_buttonCursor = m_toolbar->addAction(KIcon("select-rectangular"), i18n("Selection Tool"));
+    m_buttonCursor->setCheckable(true);
+    connect(m_buttonCursor, SIGNAL(triggered()), this, SLOT(slotSelectTool()));
+
+    m_buttonLoad = m_toolbar->addAction(KIcon("document-open"), i18n("Open Document"));
+    m_buttonLoad->setCheckable(false);
+    connect(m_buttonLoad, SIGNAL(triggered()), this, SLOT(loadTitle()));
+
+    m_buttonSave = m_toolbar->addAction(KIcon("document-save-as"), i18n("Save As"));
+    m_buttonSave->setCheckable(false);
+    connect(m_buttonSave, SIGNAL(triggered()), this, SLOT(saveTitle()));
+
+    layout->addWidget(m_toolbar);
     text_properties->setHidden(true);
 
     m_scene = new GraphicsSceneRectMove(this);
@@ -158,26 +177,26 @@ void TitleWidget::slotTextTool() {
     rect_properties->setHidden(true);
     text_properties->setHidden(false);
     m_scene->setTool(TITLE_TEXT);
-    buttonRect->setChecked(false);
-    buttonCursor->setChecked(false);
-    buttonImage->setChecked(false);
+    m_buttonRect->setChecked(false);
+    m_buttonCursor->setChecked(false);
+    m_buttonImage->setChecked(false);
 }
 
 void TitleWidget::slotRectTool() {
-    rect_properties->setHidden(false);
     text_properties->setHidden(true);
+    rect_properties->setHidden(false);
     m_scene->setTool(TITLE_RECTANGLE);
-    buttonText->setChecked(false);
-    buttonCursor->setChecked(false);
-    buttonImage->setChecked(false);
+    m_buttonText->setChecked(false);
+    m_buttonCursor->setChecked(false);
+    m_buttonImage->setChecked(false);
 }
 
 void TitleWidget::slotSelectTool() {
     m_scene->setTool(TITLE_SELECT);
-    buttonCursor->setChecked(true);
-    buttonText->setChecked(false);
-    buttonRect->setChecked(false);
-    buttonImage->setChecked(false);
+    m_buttonCursor->setChecked(true);
+    m_buttonText->setChecked(false);
+    m_buttonRect->setChecked(false);
+    m_buttonImage->setChecked(false);
 }
 
 void TitleWidget::displayBackgroundFrame() {
index 42113f38903a4e7765eb00fd3352191ccfb41fb8..55392513c2d563b17a3166ad9fef77490d1d9531 100644 (file)
@@ -61,6 +61,12 @@ private:
     int m_frameHeight;
     Render *m_render;
     int m_count;
+    QAction *m_buttonRect;
+    QAction *m_buttonText;
+    QAction *m_buttonImage;
+    QAction *m_buttonCursor;
+    QAction *m_buttonSave;
+    QAction *m_buttonLoad;
 
 public slots:
     void slotNewText(QGraphicsTextItem *tt);
index 06977efa5ee2ff43cb6fbe8a2fbdbdf12e6e03ad..dd95e59458aab54ad123061b9fc781d9535f01eb 100644 (file)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>850</width>
-    <height>575</height>
+    <width>757</width>
+    <height>442</height>
    </rect>
   </property>
   <property name="sizePolicy" >
    <string>Dialog</string>
   </property>
   <layout class="QGridLayout" name="gridLayout_2" >
-   <item row="0" column="0" >
-    <widget class="QToolButton" name="buttonRect" >
-     <property name="checkable" >
-      <bool>true</bool>
-     </property>
-     <property name="checked" >
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="1" >
-    <widget class="QToolButton" name="buttonText" >
-     <property name="checkable" >
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="2" >
-    <widget class="QToolButton" name="buttonImage" >
-     <property name="checkable" >
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="3" >
-    <widget class="QToolButton" name="buttonCursor" >
-     <property name="checkable" >
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="4" >
-    <widget class="QToolButton" name="buttonLoad" >
-     <property name="checkable" >
-      <bool>false</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="5" >
-    <widget class="QToolButton" name="buttonSave" >
-     <property name="checkable" >
-      <bool>false</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="6" colspan="4" >
-    <widget class="QFrame" name="frame_properties" >
-     <property name="frameShape" >
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow" >
-      <enum>QFrame::Raised</enum>
-     </property>
-     <layout class="QGridLayout" name="gridLayout" >
-      <item row="0" column="0" >
-       <layout class="QHBoxLayout" name="positionLayout" >
-        <item>
-         <widget class="QLabel" name="label_16" >
-          <property name="text" >
-           <string>X</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QSpinBox" name="value_x" >
-          <property name="minimum" >
-           <number>-1000</number>
-          </property>
-          <property name="maximum" >
-           <number>5000</number>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_17" >
-          <property name="text" >
-           <string>Y</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QSpinBox" name="value_y" >
-          <property name="minimum" >
-           <number>-1000</number>
-          </property>
-          <property name="maximum" >
-           <number>5000</number>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_18" >
-          <property name="text" >
-           <string>W</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QSpinBox" name="value_w" >
-          <property name="minimum" >
-           <number>-1000</number>
-          </property>
-          <property name="maximum" >
-           <number>5000</number>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_19" >
-          <property name="text" >
-           <string>H</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QSpinBox" name="value_h" >
-          <property name="minimum" >
-           <number>-1000</number>
-          </property>
-          <property name="maximum" >
-           <number>5000</number>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_12" >
-          <property name="text" >
-           <string>Z-Index:</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QSpinBox" name="zValue" >
-          <property name="minimum" >
-           <number>-1000</number>
-          </property>
-          <property name="maximum" >
-           <number>1000</number>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer" >
-          <property name="orientation" >
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0" >
-           <size>
-            <width>241</width>
-            <height>28</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item row="1" column="0" colspan="10" >
+   <item row="2" column="1" colspan="8" >
     <widget class="QFrame" name="rect_properties" >
      <property name="frameShape" >
       <enum>QFrame::StyledPanel</enum>
      </layout>
     </widget>
    </item>
-   <item row="2" column="0" colspan="10" >
+   <item row="3" column="1" colspan="8" >
     <widget class="QFrame" name="text_properties" >
      <property name="frameShape" >
       <enum>QFrame::StyledPanel</enum>
      </layout>
     </widget>
    </item>
-   <item row="3" column="0" colspan="10" >
+   <item row="4" column="1" colspan="8" >
     <widget class="QSplitter" name="splitter" >
      <property name="sizePolicy" >
       <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>465</width>
-         <height>241</height>
+         <width>309</width>
+         <height>108</height>
         </rect>
        </property>
        <attribute name="label" >
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>465</width>
-         <height>241</height>
+         <width>381</width>
+         <height>157</height>
         </rect>
        </property>
        <attribute name="label" >
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>465</width>
-         <height>241</height>
+         <width>381</width>
+         <height>157</height>
         </rect>
        </property>
        <attribute name="label" >
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>465</width>
-         <height>241</height>
+         <width>362</width>
+         <height>224</height>
         </rect>
        </property>
        <attribute name="label" >
      </widget>
     </widget>
    </item>
-   <item row="4" column="0" >
+   <item row="5" column="1" >
     <widget class="QToolButton" name="buttonFitZoom" >
      <property name="text" >
       <string>V</string>
      </property>
     </widget>
    </item>
-   <item row="4" column="1" >
+   <item row="5" column="2" >
     <widget class="QToolButton" name="buttonRealSize" >
      <property name="text" >
       <string>V</string>
      </property>
     </widget>
    </item>
-   <item row="4" column="2" colspan="4" >
+   <item row="5" column="3" colspan="2" >
     <widget class="QSlider" name="zoom_slider" >
      <property name="minimumSize" >
       <size>
      </property>
     </widget>
    </item>
-   <item row="4" column="6" >
+   <item row="5" column="5" >
     <widget class="QLabel" name="zoom_label" >
      <property name="text" >
       <string>x1</string>
      </property>
     </widget>
    </item>
-   <item row="4" column="7" >
+   <item row="5" column="6" >
     <widget class="QCheckBox" name="displayBg" >
      <property name="text" >
       <string>Show background</string>
      </property>
     </widget>
    </item>
-   <item row="4" column="8" >
+   <item row="5" column="7" >
     <spacer name="horizontalSpacer_3" >
      <property name="orientation" >
       <enum>Qt::Horizontal</enum>
      </property>
     </spacer>
    </item>
-   <item row="4" column="9" >
+   <item row="5" column="8" >
     <widget class="QDialogButtonBox" name="buttonBox" >
      <property name="orientation" >
       <enum>Qt::Horizontal</enum>
      </property>
     </widget>
    </item>
+   <item row="0" column="6" colspan="3" >
+    <widget class="QFrame" name="frame_properties" >
+     <property name="sizePolicy" >
+      <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="frameShape" >
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <property name="frameShadow" >
+      <enum>QFrame::Raised</enum>
+     </property>
+     <layout class="QGridLayout" name="gridLayout" >
+      <item row="0" column="0" >
+       <layout class="QHBoxLayout" name="positionLayout" >
+        <item>
+         <widget class="QLabel" name="label_16" >
+          <property name="text" >
+           <string>X</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="value_x" >
+          <property name="minimum" >
+           <number>-1000</number>
+          </property>
+          <property name="maximum" >
+           <number>5000</number>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_17" >
+          <property name="text" >
+           <string>Y</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="value_y" >
+          <property name="minimum" >
+           <number>-1000</number>
+          </property>
+          <property name="maximum" >
+           <number>5000</number>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_18" >
+          <property name="text" >
+           <string>W</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="value_w" >
+          <property name="minimum" >
+           <number>-1000</number>
+          </property>
+          <property name="maximum" >
+           <number>5000</number>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_19" >
+          <property name="text" >
+           <string>H</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="value_h" >
+          <property name="minimum" >
+           <number>-1000</number>
+          </property>
+          <property name="maximum" >
+           <number>5000</number>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_12" >
+          <property name="text" >
+           <string>Z-Index:</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="zValue" >
+          <property name="minimum" >
+           <number>-1000</number>
+          </property>
+          <property name="maximum" >
+           <number>1000</number>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item row="0" column="1" colspan="5" >
+    <widget class="QFrame" name="frame_toolbar" >
+     <property name="sizePolicy" >
+      <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="frameShape" >
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <property name="frameShadow" >
+      <enum>QFrame::Raised</enum>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <customwidgets>