Example #1
0
        private void OnDirRename(object o, EventArgs args)
        {
            TreePath       treepath;
            TreeViewColumn column;

            performingtask       = PerformingTask.Renaming;
            text_render.Editable = true;

            tv.GetCursor(out treepath, out column);

            tv.SetCursor(treepath, column, true);
        }
Example #2
0
        // FIXME: When the scrollbars of the directory list
        // are shown, and we perform a new dir action
        // the column is never edited, but Populate is called
        private void OnNewDir(object o, EventArgs args)
        {
            TreeIter       iter;
            TreePath       treepath;
            TreeViewColumn column;

            performingtask       = PerformingTask.CreatingNew;
            text_render.Editable = true;

            iter     = store.AppendValues(DesktopService.GetPixbufForFile(CurrentDir, Gtk.IconSize.Menu), "folder name");
            treepath = tv.Model.GetPath(iter);

            column = tv.GetColumn(0);
            tv.SetCursor(treepath, column, true);
        }
Example #3
0
        private void OnDirEdited(object o, EditedArgs args)
        {
            text_render.Editable = false;

            switch (performingtask)
            {
            case PerformingTask.Renaming:
                TreeIter iter;
                tv.Model.IterNthChild(out iter, Int32.Parse(args.Path));
                string oldpath = (string)store.GetValue(iter, 1);

                if (oldpath != args.NewText)
                {
                    try {
                        System.IO.Directory.Move(System.IO.Path.Combine(CurrentDir, oldpath), System.IO.Path.Combine(CurrentDir, args.NewText));
                    } catch (Exception ex) {
                        string message = GettextCatalog.GetString("Could not rename folder '{0}' to '{1}'", oldpath, args.NewText);
                        LoggingService.LogError(message, ex);
                        MessageService.ShowException(ex, message);
                    } finally {
                        Populate();
                    }
                }

                break;

            case PerformingTask.CreatingNew:
                System.IO.DirectoryInfo dirinfo = new DirectoryInfo(CurrentDir);
                try {
                    dirinfo.CreateSubdirectory(args.NewText);
                } catch (Exception ex) {
                    string message = GettextCatalog.GetString("Could not create new folder '{0}'", args.NewText);
                    LoggingService.LogError(message, ex);
                    MessageService.ShowException(ex, message);
                } finally {
                    Populate();
                }

                break;

            default:
                LoggingService.LogError("FileBrowser: Reached unknown case in OnDirEdited");
                break;
            }

            performingtask = PerformingTask.None;
        }
        // FIXME: When the scrollbars of the directory list
        // are shown, and we perform a new dir action
        // the column is never edited, but Populate is called
        private void OnNewDir(object o, EventArgs args)
        {
            TreeIter iter;
            TreePath treepath;
            TreeViewColumn column;

            performingtask = PerformingTask.CreatingNew;
            text_render.Editable = true;

            tv.Reorderable = false;
            iter = store.AppendValues (FileIconLoader.GetPixbufForFile (CurrentDir, 24), "folder name");
            treepath = tv.Model.GetPath(iter);

            column = tv.GetColumn (0);
            tv.SetCursor (treepath, column, true);
        }
        private void OnDirRename(object o, EventArgs args)
        {
            TreePath treepath;
            TreeViewColumn column;

            performingtask = PerformingTask.Renaming;
            text_render.Editable = true;

            tv.GetCursor (out treepath, out column);

            tv.SetCursor (treepath, column, true);
        }
        private void OnDirEdited(object o, EditedArgs args)
        {
            text_render.Editable = false;

            switch (performingtask)
            {
                case PerformingTask.Renaming:
                    TreeIter iter;
                    tv.Model.IterNthChild (out iter, Int32.Parse (args.Path));
                    string oldpath = (string) store.GetValue (iter, 1);

                    if (oldpath != args.NewText)
                    {
                        try
                        {
                            System.IO.Directory.Move (System.IO.Path.Combine(CurrentDir, oldpath), System.IO.Path.Combine(CurrentDir, args.NewText));
                        }
                        catch (Exception ex)
                        {
                            messageService.ShowError (ex, String.Format (GettextCatalog.GetString ("Could not rename folder '{0}' to '{1}'"), oldpath, args.NewText));
                        }
                        finally
                        {
                            Populate ();
                        }
                    }

                    break;

                case PerformingTask.CreatingNew:
                    System.IO.DirectoryInfo dirinfo = new DirectoryInfo (CurrentDir);
                    try
                    {
                        dirinfo.CreateSubdirectory(args.NewText);
                    }
                    catch (Exception ex)
                    {
                        messageService.ShowError (ex, String.Format (GettextCatalog.GetString ("Could not create new folder '{0}'"), args.NewText));
                    }
                    finally
                    {
                        Populate ();
                    }

                    break;

                default:
                    Console.WriteLine ("This should not be happening");
                    break;
            }

            performingtask = PerformingTask.None;
        }
		private void OnDirEdited (object o, EditedArgs args)
		{
			text_render.Editable = false;

			switch (performingtask)
			{
				case PerformingTask.Renaming:
					TreeIter iter;
					tv.Model.IterNthChild (out iter, Int32.Parse (args.Path));
					string oldpath = (string) store.GetValue (iter, 1);

					if (oldpath != args.NewText) {
						try {
							System.IO.Directory.Move (System.IO.Path.Combine(CurrentDir, oldpath), System.IO.Path.Combine(CurrentDir, args.NewText));
						} catch (Exception ex) {
							string message = GettextCatalog.GetString ("Could not rename folder '{0}' to '{1}'", oldpath, args.NewText);
							LoggingService.LogError (message, ex);
							MessageService.ShowException (ex, message);
						} finally {
							Populate ();
						}
					}

					break;

				case PerformingTask.CreatingNew:
					System.IO.DirectoryInfo dirinfo = new DirectoryInfo (CurrentDir);
					try {
						dirinfo.CreateSubdirectory(args.NewText);
					} catch (Exception ex) {
						string message = GettextCatalog.GetString ("Could not create new folder '{0}'", args.NewText);
						LoggingService.LogError (message, ex);
						MessageService.ShowException (ex, message);
					} finally {
						Populate ();
					}

					break;
											
				default:
					LoggingService.LogError ("FileBrowser: Reached unknown case in OnDirEdited");
					break;
			}

			performingtask = PerformingTask.None;
		}