~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/StatusView.cs

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
ImportĀ upstreamĀ versionĀ 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
using MonoDevelop.Ide;
15
15
using MonoDevelop.Ide.Gui;
16
16
using Mono.TextEditor;
 
17
using MonoDevelop.Components;
17
18
 
18
19
namespace MonoDevelop.VersionControl.Views
19
20
{
24
25
                bool disposed;
25
26
                
26
27
                Widget widget;
27
 
                Toolbar commandbar;
28
28
                VBox main;
29
29
                Label status;
30
 
                Gtk.ToolButton showRemoteStatus;
31
 
                Gtk.ToolButton buttonCommit;
32
 
                Gtk.ToolButton buttonRevert;
 
30
                Gtk.Button showRemoteStatus;
 
31
                Gtk.Button buttonCommit;
 
32
                Gtk.Button buttonRevert;
33
33
                
34
34
                FileTreeView filelist;
35
35
                TreeViewColumn colCommit, colRemote;
99
99
                
100
100
                delegate void DiffDataHandler (List<DiffData> diffdata);
101
101
                
102
 
                /// <summary>
103
 
                /// Fired when content difference data is loaded
104
 
                /// </summary>
105
 
                event DiffDataHandler DiffDataLoaded;
106
 
                
107
102
                public static bool Show (VersionControlItemList items, bool test)
108
103
                {
109
104
                        if (items.Count != 1)
129
124
                        main = new VBox(false, 6);
130
125
                        widget = main;
131
126
                        
132
 
                        commandbar = new Toolbar ();
133
 
                        commandbar.ToolbarStyle = Gtk.ToolbarStyle.BothHoriz;
134
 
                        commandbar.IconSize = Gtk.IconSize.Menu;
135
 
                        main.PackStart (commandbar, false, false, 0);
136
 
                        
137
 
                        buttonCommit = new Gtk.ToolButton (new Gtk.Image ("vc-commit", Gtk.IconSize.Menu), GettextCatalog.GetString ("Commit..."));
138
 
                        buttonCommit.IsImportant = true;
139
 
                        buttonCommit.Clicked += new EventHandler (OnCommitClicked);
140
 
                        commandbar.Insert (buttonCommit, -1);
141
 
                        
142
 
                        Gtk.ToolButton btnRefresh = new Gtk.ToolButton (new Gtk.Image (Gtk.Stock.Refresh, IconSize.Menu), GettextCatalog.GetString ("Refresh"));
143
 
                        btnRefresh.IsImportant = true;
144
 
                        btnRefresh.Clicked += new EventHandler (OnRefresh);
145
 
                        commandbar.Insert (btnRefresh, -1);
146
 
                        
147
 
                        buttonRevert = new Gtk.ToolButton (new Gtk.Image ("vc-revert-command", Gtk.IconSize.Menu), GettextCatalog.GetString ("Revert"));
148
 
                        buttonRevert.IsImportant = true;
149
 
                        buttonRevert.Clicked += new EventHandler (OnRevert);
150
 
                        commandbar.Insert (buttonRevert, -1);
151
 
                        
152
 
                        showRemoteStatus = new Gtk.ToolButton (new Gtk.Image ("vc-remote-status", Gtk.IconSize.Menu), GettextCatalog.GetString ("Show Remote Status"));
153
 
                        showRemoteStatus.IsImportant = true;
154
 
                        showRemoteStatus.Clicked += new EventHandler(OnShowRemoteStatusClicked);
155
 
                        commandbar.Insert (showRemoteStatus, -1);
156
 
                        
157
 
                        Gtk.ToolButton btnCreatePatch = new Gtk.ToolButton (new Gtk.Image ("vc-diff", Gtk.IconSize.Menu), GettextCatalog.GetString ("Create Patch"));
158
 
                        btnCreatePatch.IsImportant = true;
159
 
                        btnCreatePatch.Clicked += new EventHandler (OnCreatePatch);
160
 
                        commandbar.Insert (btnCreatePatch, -1);
161
 
                        
162
 
                        commandbar.Insert (new Gtk.SeparatorToolItem (), -1);
163
 
                        
164
 
                        Gtk.ToolButton btnOpen = new Gtk.ToolButton (new Gtk.Image (Gtk.Stock.Open, IconSize.Menu), GettextCatalog.GetString ("Open"));
165
 
                        btnOpen.IsImportant = true;
166
 
                        btnOpen.Clicked += new EventHandler (OnOpen);
167
 
                        commandbar.Insert (btnOpen, -1);
168
 
                        
169
 
                        commandbar.Insert (new Gtk.SeparatorToolItem (), -1);
170
 
                        
171
 
                        Gtk.ToolButton btnExpand = new Gtk.ToolButton (null, GettextCatalog.GetString ("Expand All"));
172
 
                        btnExpand.IsImportant = true;
173
 
                        btnExpand.Clicked += new EventHandler (OnExpandAll);
174
 
                        commandbar.Insert (btnExpand, -1);
175
 
                        
176
 
                        Gtk.ToolButton btnCollapse = new Gtk.ToolButton (null, GettextCatalog.GetString ("Collapse All"));
177
 
                        btnCollapse.IsImportant = true;
178
 
                        btnCollapse.Clicked += new EventHandler (OnCollapseAll);
179
 
                        commandbar.Insert (btnCollapse, -1);
180
 
                        
181
 
                        commandbar.Insert (new Gtk.SeparatorToolItem (), -1);
182
 
                        
183
 
                        Gtk.ToolButton btnSelectAll = new Gtk.ToolButton (null, GettextCatalog.GetString ("Select All"));
184
 
                        btnSelectAll.IsImportant = true;
185
 
                        btnSelectAll.Clicked += new EventHandler (OnSelectAll);
186
 
                        commandbar.Insert (btnSelectAll, -1);
187
 
                        
188
 
                        Gtk.ToolButton btnSelectNone = new Gtk.ToolButton (null, GettextCatalog.GetString ("Select None"));
189
 
                        btnSelectNone.IsImportant = true;
190
 
                        btnSelectNone.Clicked += new EventHandler (OnSelectNone);
191
 
                        commandbar.Insert (btnSelectNone, -1);
192
 
                        
 
127
                        buttonCommit = new Gtk.Button () {
 
128
                                Image = new Gtk.Image ("vc-commit", Gtk.IconSize.Menu),
 
129
                                Label = GettextCatalog.GetString ("Commit...")
 
130
                        };
 
131
                        buttonCommit.Image.Show ();
 
132
                        buttonRevert = new Gtk.Button () {
 
133
                                Image = new Gtk.Image ("vc-revert-command", Gtk.IconSize.Menu),
 
134
                                Label = GettextCatalog.GetString ("Revert")
 
135
                        };
 
136
                        buttonRevert.Image.Show ();
 
137
                        showRemoteStatus = new Gtk.Button () {
 
138
                                Image = new Gtk.Image ("vc-remote-status", Gtk.IconSize.Menu),
 
139
                                Label = GettextCatalog.GetString ("Show Remote Status")
 
140
                        };
 
141
                        showRemoteStatus.Image.Show ();
 
142
 
193
143
                        status = new Label("");
194
144
                        main.PackStart(status, false, false, 0);
195
145
                        
196
146
                        scroller = new ScrolledWindow();
197
 
                        scroller.ShadowType = Gtk.ShadowType.In;
 
147
                        scroller.ShadowType = Gtk.ShadowType.None;
198
148
                        filelist = new FileTreeView();
199
149
                        filelist.Selection.Mode = Gtk.SelectionMode.Multiple;
200
150
                        
262
212
                        filelist.TestExpandRow += new Gtk.TestExpandRowHandler (OnTestExpandRow);
263
213
                        
264
214
                        commitBox = new VBox ();
265
 
                        
 
215
 
 
216
                        HeaderBox commitMessageLabelBox = new HeaderBox ();
 
217
                        commitMessageLabelBox.SetPadding (6, 6, 6, 6);
 
218
                        commitMessageLabelBox.SetMargins (1, 1, 0, 0);
 
219
 
266
220
                        HBox labBox = new HBox ();
267
221
                        labelCommit = new Gtk.Label (GettextCatalog.GetString ("Commit message:"));
268
222
                        labelCommit.Xalign = 0;
269
223
                        labBox.PackStart (new Gtk.Image ("vc-comment", Gtk.IconSize.Menu), false, false, 0);
270
224
                        labBox.PackStart (labelCommit, true, true, 3);
271
 
                        
272
 
                        commitBox.PackStart (labBox, false, false, 0);
 
225
 
 
226
                        commitMessageLabelBox.Add (labBox);
 
227
                        commitMessageLabelBox.ShowAll ();
 
228
                        //commitBox.PackStart (commitMessageLabelBox, false, false, 0);
273
229
                        
274
230
                        Gtk.ScrolledWindow frame = new Gtk.ScrolledWindow ();
275
 
                        frame.ShadowType = ShadowType.In;
 
231
                        frame.HeightRequest = 75;
 
232
                        frame.ShadowType = ShadowType.None;
276
233
                        commitText = new TextView ();
277
234
                        commitText.WrapMode = WrapMode.WordChar;
278
235
                        commitText.Buffer.Changed += OnCommitTextChanged;
279
236
                        frame.Add (commitText);
280
 
                        commitBox.PackStart (frame, true, true, 6);
 
237
                        commitBox.PackStart (frame, true, true, 0);
281
238
                        
282
 
                        VPaned paned = new VPaned ();
 
239
                        var paned = new VPanedThin ();
 
240
                        paned.HandleWidget = commitMessageLabelBox;
283
241
                        paned.Pack1 (scroller, true, true);
284
242
                        paned.Pack2 (commitBox, false, false);
285
243
                        main.PackStart (paned, true, true, 0);
306
264
                        
307
265
                        StartUpdate();
308
266
                }
 
267
 
 
268
                protected override void OnWorkbenchWindowChanged (EventArgs e)
 
269
                {
 
270
                        base.OnWorkbenchWindowChanged (e);
 
271
                        if (WorkbenchWindow == null)
 
272
                                return;
 
273
 
 
274
                        var toolbar = WorkbenchWindow.GetToolbar (this);
 
275
 
 
276
                        buttonCommit.Clicked += new EventHandler (OnCommitClicked);
 
277
                        toolbar.Add (buttonCommit);
 
278
 
 
279
                        var btnRefresh = new Gtk.Button () {
 
280
                                Label = GettextCatalog.GetString ("Refresh"),
 
281
                                Image = new Gtk.Image (Gtk.Stock.Refresh, IconSize.Menu)
 
282
                        };
 
283
                        btnRefresh.Image.Show ();
 
284
 
 
285
                        btnRefresh.Clicked += new EventHandler (OnRefresh);
 
286
                        toolbar.Add (btnRefresh);
 
287
 
 
288
                        buttonRevert.Clicked += new EventHandler (OnRevert);
 
289
                        toolbar.Add (buttonRevert);
 
290
                        
 
291
                        showRemoteStatus.Clicked += new EventHandler(OnShowRemoteStatusClicked);
 
292
                        toolbar.Add (showRemoteStatus);
 
293
                        
 
294
                        var btnCreatePatch = new Gtk.Button () {
 
295
                                Image = new Gtk.Image ("vc-diff", Gtk.IconSize.Menu), 
 
296
                                Label = GettextCatalog.GetString ("Create Patch")
 
297
                        };
 
298
                        btnCreatePatch.Image.Show ();
 
299
                        btnCreatePatch.Clicked += new EventHandler (OnCreatePatch);
 
300
                        toolbar.Add (btnCreatePatch);
 
301
                        
 
302
                        toolbar.Add (new Gtk.SeparatorToolItem ());
 
303
                        
 
304
                        var btnOpen = new Gtk.Button () {
 
305
                                Image = new Gtk.Image (Gtk.Stock.Open, IconSize.Menu), 
 
306
                                Label = GettextCatalog.GetString ("Open")
 
307
                        };
 
308
                        btnOpen.Image.Show ();
 
309
                        btnOpen.Clicked += new EventHandler (OnOpen);
 
310
                        toolbar.Add (btnOpen);
 
311
                        
 
312
                        toolbar.Add (new Gtk.SeparatorToolItem ());
 
313
                        
 
314
                        var btnExpand = new Gtk.Button (GettextCatalog.GetString ("Expand All"));
 
315
                        btnExpand.Clicked += new EventHandler (OnExpandAll);
 
316
                        toolbar.Add (btnExpand);
 
317
                        
 
318
                        var btnCollapse = new Gtk.Button (GettextCatalog.GetString ("Collapse All"));
 
319
                        btnCollapse.Clicked += new EventHandler (OnCollapseAll);
 
320
                        toolbar.Add (btnCollapse);
 
321
                        
 
322
                        toolbar.Add (new Gtk.SeparatorToolItem ());
 
323
                        
 
324
                        var btnSelectAll = new Gtk.Button (GettextCatalog.GetString ("Select All"));
 
325
                        btnSelectAll.Clicked += new EventHandler (OnSelectAll);
 
326
                        toolbar.Add (btnSelectAll);
 
327
                        
 
328
                        var btnSelectNone = new Gtk.Button (GettextCatalog.GetString ("Select None"));
 
329
                        btnSelectNone.Clicked += new EventHandler (OnSelectNone);
 
330
                        toolbar.Add (btnSelectNone);
 
331
                        toolbar.ShowAll ();
 
332
                }
309
333
                
310
334
                public override string StockIconId {
311
335
                        get { return "vc-status"; }
894
918
                        VersionInfo newInfo;
895
919
                        try {
896
920
                                // Reuse remote status from old version info
897
 
                                newInfo = vc.GetVersionInfo (args.FilePath, false);
 
921
                                newInfo = vc.GetVersionInfo (args.FilePath);
898
922
                                if (found && newInfo != null) {
899
923
                                        VersionInfo oldInfo = statuses [oldStatusIndex];
900
924
                                        if (oldInfo != null) {