]> granicus.if.org Git - handbrake/commitdiff
WinGui:
authorsr55 <sr55.hb@outlook.com>
Sun, 4 Jan 2009 23:02:32 +0000 (23:02 +0000)
committersr55 <sr55.hb@outlook.com>
Sun, 4 Jan 2009 23:02:32 +0000 (23:02 +0000)
- Makes the new preview window user accessible from the main window.
- Attempt at a fix for a QT lockup.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2060 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/C#/frmMain.Designer.cs
win/C#/frmMain.cs
win/C#/frmMain.resx
win/C#/frmPreview.Designer.cs
win/C#/frmPreview.cs

index 7893e7198271fcfab4c43454dc7b8b8d4e3a3b8d..37dcd055ab4af53f9fb3d3dd5d83aab7a194eee7 100644 (file)
@@ -38,7 +38,7 @@ namespace Handbrake
             System.Windows.Forms.Label Label38;\r
             System.Windows.Forms.ContextMenuStrip notifyIconMenu;\r
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));\r
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();\r
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();\r
             this.btn_restore = new System.Windows.Forms.ToolStripMenuItem();\r
             this.DVD_Save = new System.Windows.Forms.SaveFileDialog();\r
             this.File_Save = new System.Windows.Forms.SaveFileDialog();\r
@@ -244,11 +244,13 @@ namespace Handbrake
             this.btn_add2Queue = new System.Windows.Forms.ToolStripButton();\r
             this.btn_showQueue = new System.Windows.Forms.ToolStripButton();\r
             this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();\r
-            this.btn_vidPreview = new System.Windows.Forms.ToolStripButton();\r
             this.btn_ActivityWindow = new System.Windows.Forms.ToolStripButton();\r
             this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);\r
             this.StatusStrip = new System.Windows.Forms.StatusStrip();\r
             this.lbl_encode = new System.Windows.Forms.ToolStripStatusLabel();\r
+            this.tb_preview = new System.Windows.Forms.ToolStripDropDownButton();\r
+            this.mnu_qtpreview = new System.Windows.Forms.ToolStripMenuItem();\r
+            this.mnu_vlcpreview = new System.Windows.Forms.ToolStripMenuItem();\r
             Label38 = new System.Windows.Forms.Label();\r
             notifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);\r
             notifyIconMenu.SuspendLayout();\r
@@ -642,9 +644,9 @@ namespace Handbrake
             // \r
             // number\r
             // \r
-            dataGridViewCellStyle1.Format = "N0";\r
-            dataGridViewCellStyle1.NullValue = null;\r
-            this.number.DefaultCellStyle = dataGridViewCellStyle1;\r
+            dataGridViewCellStyle3.Format = "N0";\r
+            dataGridViewCellStyle3.NullValue = null;\r
+            this.number.DefaultCellStyle = dataGridViewCellStyle3;\r
             this.number.HeaderText = "Chapter Number";\r
             this.number.MaxInputLength = 3;\r
             this.number.Name = "number";\r
@@ -2743,7 +2745,7 @@ namespace Handbrake
             this.btn_add2Queue,\r
             this.btn_showQueue,\r
             this.toolStripSeparator4,\r
-            this.btn_vidPreview,\r
+            this.tb_preview,\r
             this.btn_ActivityWindow});\r
             this.toolStrip1.Location = new System.Drawing.Point(0, 24);\r
             this.toolStrip1.Name = "toolStrip1";\r
@@ -2842,16 +2844,6 @@ namespace Handbrake
             this.toolStripSeparator4.Name = "toolStripSeparator4";\r
             this.toolStripSeparator4.Size = new System.Drawing.Size(6, 39);\r
             // \r
-            // btn_vidPreview\r
-            // \r
-            this.btn_vidPreview.Image = global::Handbrake.Properties.Resources.picture;\r
-            this.btn_vidPreview.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
-            this.btn_vidPreview.ImageTransparentColor = System.Drawing.Color.Magenta;\r
-            this.btn_vidPreview.Name = "btn_vidPreview";\r
-            this.btn_vidPreview.Size = new System.Drawing.Size(81, 36);\r
-            this.btn_vidPreview.Text = "Preview";\r
-            this.btn_vidPreview.Click += new System.EventHandler(this.btn_vidPreview_Click);\r
-            // \r
             // btn_ActivityWindow\r
             // \r
             this.btn_ActivityWindow.Image = global::Handbrake.Properties.Resources.ActivityWindow;\r
@@ -2891,6 +2883,32 @@ namespace Handbrake
             this.lbl_encode.Size = new System.Drawing.Size(31, 17);\r
             this.lbl_encode.Text = "{0}";\r
             // \r
+            // tb_preview\r
+            // \r
+            this.tb_preview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
+            this.mnu_qtpreview,\r
+            this.mnu_vlcpreview});\r
+            this.tb_preview.Image = global::Handbrake.Properties.Resources.picture;\r
+            this.tb_preview.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+            this.tb_preview.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+            this.tb_preview.Name = "tb_preview";\r
+            this.tb_preview.Size = new System.Drawing.Size(90, 36);\r
+            this.tb_preview.Text = "Preview";\r
+            // \r
+            // mnu_qtpreview\r
+            // \r
+            this.mnu_qtpreview.Name = "mnu_qtpreview";\r
+            this.mnu_qtpreview.Size = new System.Drawing.Size(185, 22);\r
+            this.mnu_qtpreview.Text = "Preview in QuickTime";\r
+            this.mnu_qtpreview.Click += new System.EventHandler(this.mnu_qtpreview_Click);\r
+            // \r
+            // mnu_vlcpreview\r
+            // \r
+            this.mnu_vlcpreview.Name = "mnu_vlcpreview";\r
+            this.mnu_vlcpreview.Size = new System.Drawing.Size(185, 22);\r
+            this.mnu_vlcpreview.Text = "Preview in VLC";\r
+            this.mnu_vlcpreview.Click += new System.EventHandler(this.mnu_vlcpreview_Click);\r
+            // \r
             // frmMain\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
@@ -3151,7 +3169,6 @@ namespace Handbrake
         private System.Windows.Forms.ToolStripSeparator sep1;\r
         private System.Windows.Forms.ToolStripMenuItem pmnu_delete;\r
         private System.Windows.Forms.SplitContainer splitContainer1;\r
-        private System.Windows.Forms.ToolStripButton btn_vidPreview;\r
         private System.Windows.Forms.Button btn_RemoveAudioTrack;\r
         private System.Windows.Forms.Button btn_addAudioTrack;\r
         private System.Windows.Forms.ColumnHeader col_Source;\r
@@ -3167,6 +3184,9 @@ namespace Handbrake
         private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;\r
         private System.Windows.Forms.ToolStripMenuItem audioList_remove;\r
         private System.Windows.Forms.ImageList AudioMenuRowHeightHack;\r
+        private System.Windows.Forms.ToolStripDropDownButton tb_preview;\r
+        private System.Windows.Forms.ToolStripMenuItem mnu_qtpreview;\r
+        private System.Windows.Forms.ToolStripMenuItem mnu_vlcpreview;\r
 \r
     }\r
 }
\ No newline at end of file
index 418a15f69414e4bef7b92ee2875a08e493ff76a0..6f9341641d884f02bc0acd9b27852b08e68d3e1b 100644 (file)
@@ -37,7 +37,8 @@ namespace Handbrake
 \r
         // Globals: Mainly used for tracking.\r
         private frmQueue queueWindow;\r
-        private frmGenPreview preview;\r
+        private frmGenPreview vlcpreview;\r
+        private frmPreview qtpreview;\r
         private string lastAction = null;\r
         public int maxWidth = 0;\r
         public int maxHeight = 0;\r
@@ -568,21 +569,41 @@ namespace Handbrake
             queueWindow.setQueue(encodeQueue);\r
             queueWindow.Show();\r
         }\r
-        private void btn_vidPreview_Click(object sender, EventArgs e)\r
+        private void mnu_vlcpreview_Click(object sender, EventArgs e)\r
         {\r
             if (text_source.Text == "" || text_source.Text == "Click 'Source' to continue" || text_destination.Text == "")\r
                 MessageBox.Show("No source OR destination selected.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
             else\r
             {\r
-                if (preview == null)\r
+                if (vlcpreview == null)\r
                 {\r
-                    preview = new frmGenPreview(this);\r
-                    preview.Show();\r
+                    vlcpreview = new frmGenPreview(this);\r
+                    vlcpreview.Show();\r
                 }\r
-                else if (preview.IsDisposed)\r
+                else if (vlcpreview.IsDisposed)\r
                 {\r
-                    preview = new frmGenPreview(this);\r
-                    preview.Show();\r
+                    vlcpreview = new frmGenPreview(this);\r
+                    vlcpreview.Show();\r
+                }\r
+                else\r
+                    MessageBox.Show("The preview window is already open!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+            }\r
+        }\r
+        private void mnu_qtpreview_Click(object sender, EventArgs e)\r
+        {\r
+            if (text_source.Text == "" || text_source.Text == "Click 'Source' to continue" || text_destination.Text == "")\r
+                MessageBox.Show("No source OR destination selected.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+            else\r
+            {\r
+                if (qtpreview == null)\r
+                {\r
+                    qtpreview = new frmPreview(this);\r
+                    qtpreview.Show();\r
+                }\r
+                else if (qtpreview.IsDisposed)\r
+                {\r
+                    qtpreview = new frmPreview(this);\r
+                    qtpreview.Show();\r
                 }\r
                 else\r
                     MessageBox.Show("The preview window is already open!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
index d6bf08e3e0a56db8abc5c1a5207fa657ea90865f..0039ebd874ba1a7f9517d990420888ae5763a5cd 100644 (file)
@@ -155,6 +155,12 @@ Make sure you have selected a "Title" from the "Source" box above otherwise
 the list will not be populated with the correct amount of chapters.\r
 Note: Do not change any of the chapter numbers!</value>\r
   </data>\r
+  <metadata name="number.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
+    <value>True</value>\r
+  </metadata>\r
+  <metadata name="name.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
+    <value>True</value>\r
+  </metadata>\r
   <data name="check_Cabac.ToolTip" xml:space="preserve">\r
     <value>CABAC, or context adaptive binary arithmetic coding, is used by x264 to reduce the bitrate needed for a given quality by 15%. \r
 This makes it very cool and very useful, and it should be left on whenever possible. However, it is incompatible with the iPod 5.5G, and makes the AppleTV struggle. \r
index 5fb9b2b80dd4fdf65ef770b1e570972c050eb64f..8ecd53ec81dc32d83ee02abfa95fae0ad817784f 100644 (file)
         /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>\r
         protected override void Dispose(bool disposing)\r
         {\r
-            if (disposing && (components != null))\r
+            if (disposing)\r
             {\r
-                components.Dispose();\r
+                if (components != null)\r
+                {\r
+                    components.Dispose();\r
+                }\r
             }\r
             base.Dispose(disposing);\r
         }\r
index cd44f74d8348aa3a4c2229d8f1300a14a984c5f3..c7d442d5dcc4bbbd31a8ceaa6b5a8b09ca5f6cc6 100644 (file)
@@ -23,6 +23,7 @@ namespace Handbrake
         String currently_playing = "";\r
         frmMain mainWindow;\r
         private Process hbProc;\r
+        private Thread player;\r
 \r
         public frmPreview(frmMain mw)\r
         {\r
@@ -32,17 +33,30 @@ namespace Handbrake
             cb_duration.SelectedIndex = 1;\r
         }\r
 \r
-        private void OpenMovie(string url)\r
+        private void play()\r
+        {\r
+            player = new Thread(OpenMovie);\r
+            player.IsBackground = true;\r
+            player.Start();\r
+        }\r
+\r
+        [STAThread]\r
+        private void OpenMovie()\r
         {\r
             try\r
             {\r
-                QTControl.URL = url;\r
+                if (this.InvokeRequired)\r
+                {\r
+                    this.BeginInvoke(new UpdateUIHandler(OpenMovie));\r
+                    return;\r
+                }\r
+                QTControl.URL = currently_playing;\r
                 QTControl.Width = QTControl.Movie.Width;\r
                 QTControl.Height = QTControl.Movie.Height;\r
                 // The initial control size is 64,64. If we do not reload the clip here\r
                 // it'll scale the video from 64,64. \r
                 // Unsure why as it correctly resizes the control to the movies actual size.\r
-                QTControl.URL = url\r
+                QTControl.URL = currently_playing\r
                 QTControl.SetScale(0);\r
                 QTControl.Show();\r
 \r
@@ -59,7 +73,7 @@ namespace Handbrake
                 MessageBox.Show("Unable to open movie:\n\n" + ex.ToString());\r
             }\r
         }\r
-\r
\r
         #region Encode Sample\r
         private void btn_encode_Click(object sender, EventArgs e)\r
         {\r
@@ -96,7 +110,7 @@ namespace Handbrake
                 if (mainWindow.text_destination.Text != "")\r
                     currently_playing = mainWindow.text_destination.Text.Replace(".m", "_sample.m").Replace(".avi", "_sample.avi").Replace(".ogm", "_sample.ogm");\r
 \r
-                OpenMovie(currently_playing);\r
+                play();\r
                 lbl_encode.Text = "";\r
             }\r
             catch (Exception exc)\r