syncthing/lib/config/foldertype.go
Jakob Borg f822b10550
all: Add receive only folder type (#5027)
Adds a receive only folder type that does not send changes, and where the user can optionally revert local changes. Also changes some of the icons to make the three folder types distinguishable.
2018-07-12 11:15:57 +03:00

47 lines
1.0 KiB
Go

// Copyright (C) 2016 The Syncthing Authors.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
// You can obtain one at https://mozilla.org/MPL/2.0/.
package config
type FolderType int
const (
FolderTypeSendReceive FolderType = iota // default is sendreceive
FolderTypeSendOnly
FolderTypeReceiveOnly
)
func (t FolderType) String() string {
switch t {
case FolderTypeSendReceive:
return "sendreceive"
case FolderTypeSendOnly:
return "sendonly"
case FolderTypeReceiveOnly:
return "receiveonly"
default:
return "unknown"
}
}
func (t FolderType) MarshalText() ([]byte, error) {
return []byte(t.String()), nil
}
func (t *FolderType) UnmarshalText(bs []byte) error {
switch string(bs) {
case "readwrite", "sendreceive":
*t = FolderTypeSendReceive
case "readonly", "sendonly":
*t = FolderTypeSendOnly
case "receiveonly":
*t = FolderTypeReceiveOnly
default:
*t = FolderTypeSendReceive
}
return nil
}