예제 #1
0
        public void cancelPressed(NSObject sender)
        {
            Unused.Value = sender;

            NSApplication.sharedApplication().endSheet(m_sheet.Value);
            m_sheet.Value.orderOut(this);
            m_dir = null;
        }
예제 #2
0
		public NSObject Open(string path)
		{
			var windows = m_boss.Get<IWindows>();
			foreach (Boss boss in windows.All())
			{
				var editor = boss.Get<IDirectoryEditor>();
				if (editor.Path == path)
				{
					var window = boss.Get<IWindow>();
					window.Window.makeKeyAndOrderFront(NSApplication.sharedApplication());
					return window.Window.windowController();
				}
			}
			
			var controller = new DirectoryController(path);
			return controller;
		}
예제 #3
0
 public FolderItem(string path, DirectoryItemStyler styler, DirectoryController controller)
     : base(path, styler, "FolderItem")
 {
     m_controller = controller;
 }
예제 #4
0
        public void Opened()
        {
            var window = m_boss.Get<IWindow>();
            m_controller = (DirectoryController) window.Window.windowController();
            Contract.Assert(m_controller != null);

            DoReset();
        }
예제 #5
0
        public void okPressed(NSObject sender)
        {
            Unused.Value = sender;

            NSApplication.sharedApplication().endSheet(m_sheet.Value);
            m_sheet.Value.orderOut(this);

            // save ignored targets
            string s = m_ignoredTargets.Value.stringValue().description();
            m_dir.IgnoredTargets = Glob.Split(s);

            // save ignored items
            s = m_ignoredItems.Value.stringValue().description();
            m_dir.IgnoredItems = Glob.Split(s);

            // save add space
            m_dir.AddSpace = m_addSpace.Value.state() == 1;

            // save add brace line
            m_dir.AddBraceLine = m_addBraceLine.Value.state() == 1;

            // use tabs
            m_dir.UseTabs = m_useTabs.Value.state() == 0;

            // number of spaces
            s = m_numSpaces.Value.stringValue().description();
            m_dir.NumSpaces = int.Parse(s);

            // save path color
            NSUserDefaults defaults = NSUserDefaults.standardUserDefaults();
            string path = m_dir.Path;

            var color = this["pathColor"].Call("color").To<NSObject>();
            var data = NSArchiver.archivedDataWithRootObject(color);
            defaults.setObject_forKey(data, NSString.Create(path + "-path color"));

            // save file colors/globs
            for (int i = 1; i <= DirectoryItemStyler.FilesCount; ++i)
            {
                color = this["files" + i + "Color"].Call("color").To<NSObject>();
                data = NSArchiver.archivedDataWithRootObject(color);
                defaults.setObject_forKey(data, NSString.Create(path + "-files" + i + " color"));

                var globs = this["files" + i + "Globs"].Call("stringValue").To<NSObject>();
                defaults.setObject_forKey(globs, NSString.Create(path + "-files" + i + " globs"));
            }

            // force the table to reload
            m_dir.Reload();

            Broadcaster.Invoke("directory prefs changed", m_dir.Boss);
            m_dir = null;
        }
예제 #6
0
        public void Open(DirectoryController dir)
        {
            m_dir = dir;

            // set ignored targets
            string s = Glob.Join(m_dir.IgnoredTargets);
            m_ignoredTargets.Value.setStringValue(NSString.Create(s));

            // set ignored items
            s = Glob.Join(m_dir.IgnoredItems);
            m_ignoredItems.Value.setStringValue(NSString.Create(s));

            // set add space
            m_addSpace.Value.setState(m_dir.AddSpace ? 1 : 0);

            // set add brace line
            m_addBraceLine.Value.setState(m_dir.AddBraceLine ? 1 : 0);

            // use tabs
            m_useTabs.Value.setState(m_dir.UseTabs ? 0 : 1);

            // number of spaces
            s = m_dir.NumSpaces.ToString();
            m_numSpaces.Value.setStringValue(NSString.Create(s));

            // set path color
            NSUserDefaults defaults = NSUserDefaults.standardUserDefaults();
            string path = dir.Path;

            var data = defaults.objectForKey(NSString.Create(path + "-path color")).To<NSData>();
            var color = NSUnarchiver.unarchiveObjectWithData(data).To<NSColor>();
            Unused.Value = this["pathColor"].Call("setColor:", color);

            // set file colors/globs
            for (int i = 1; i <= DirectoryItemStyler.FilesCount; ++i)
            {
                data = defaults.objectForKey(NSString.Create(path + "-files" + i + " color")).To<NSData>();
                color = NSUnarchiver.unarchiveObjectWithData(data).To<NSColor>();
                this["files" + i + "Color"].Call("setColor:", color);

                var globs = defaults.stringForKey(NSString.Create(path + "-files" + i + " globs"));
                this["files" + i + "Globs"].Call("setStringValue:", globs);
            }

            // display the sheet
            NSApplication.sharedApplication().beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo(
                m_sheet.Value, m_dir.window(), this, null, IntPtr.Zero);
        }