浏览代码

UI: Add reset/close buttons to transform dialog

Adds a reset and close button to the transform dialog.

Closes jp9000/obs-studio#612
cg2121 9 年之前
父节点
当前提交
883f9f204b
共有 5 个文件被更改,包括 23 次插入1 次删除
  1. 1 0
      UI/data/locale/en-US.ini
  2. 7 0
      UI/forms/OBSBasicTransform.ui
  3. 3 1
      UI/window-basic-main.hpp
  4. 11 0
      UI/window-basic-transform.cpp
  5. 1 0
      UI/window-basic-transform.hpp

+ 1 - 0
UI/data/locale/en-US.ini

@@ -53,6 +53,7 @@ Left="Left"
 Right="Right"
 Top="Top"
 Bottom="Bottom"
+Reset="Reset"
 
 # quick transitions
 QuickTransitions.SwapScenes="Swap Preview/Output Scenes After Transitioning"

+ 7 - 0
UI/forms/OBSBasicTransform.ui

@@ -638,6 +638,13 @@
      </item>
     </layout>
    </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Reset|QDialogButtonBox::Close</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <resources/>

+ 3 - 1
UI/window-basic-main.hpp

@@ -462,7 +462,6 @@ private slots:
 	void on_actionCheckForUpdates_triggered();
 
 	void on_actionEditTransform_triggered();
-	void on_actionResetTransform_triggered();
 	void on_actionRotate90CW_triggered();
 	void on_actionRotate90CCW_triggered();
 	void on_actionRotate180_triggered();
@@ -564,6 +563,9 @@ private slots:
 	void OpenSourceProjector();
 	void OpenSceneProjector();
 
+public slots:
+	void on_actionResetTransform_triggered();
+
 public:
 	explicit OBSBasic(QWidget *parent = 0);
 	virtual ~OBSBasic();

+ 11 - 0
UI/window-basic-transform.cpp

@@ -1,3 +1,4 @@
+#include <QMessageBox>
 #include "window-basic-transform.hpp"
 #include "window-basic-main.hpp"
 
@@ -55,6 +56,11 @@ OBSBasicTransform::OBSBasicTransform(OBSBasic *parent)
 	HookWidget(ui->cropTop,      ISCROLL_CHANGED, SLOT(OnCropChanged()));
 	HookWidget(ui->cropBottom,   ISCROLL_CHANGED, SLOT(OnCropChanged()));
 
+	connect(ui->buttonBox->button(QDialogButtonBox::Reset),
+		SIGNAL(clicked()), this, SLOT(on_resetButton_clicked()));
+	connect(ui->buttonBox,
+		SIGNAL(rejected()), this, SLOT(close()));
+
 	installEventFilter(CreateShortcutFilter());
 
 	OBSScene curScene = main->GetCurrentScene();
@@ -288,3 +294,8 @@ void OBSBasicTransform::OnCropChanged()
 	obs_sceneitem_set_crop(item, &crop);
 	ignoreTransformSignal = false;
 }
+
+void OBSBasicTransform::on_resetButton_clicked()
+{
+	main->on_actionResetTransform_triggered();
+}

+ 1 - 0
UI/window-basic-transform.hpp

@@ -42,6 +42,7 @@ private slots:
 	void OnBoundsType(int index);
 	void OnControlChanged();
 	void OnCropChanged();
+	void on_resetButton_clicked();
 
 public:
 	OBSBasicTransform(OBSBasic *parent);