Compare commits

..

No commits in common. "617ade0163df4bc5d026d39252166a3c7a9d72af" and "7f6311b8884b438a7f442b015a4c607791a53537" have entirely different histories.

11 changed files with 30 additions and 78 deletions

View File

@ -197,10 +197,6 @@ namespace EliteBGS.BGS {
continue;
}
if (!objective.IsEnabled) {
continue;
}
log.AppendFormat("**Date:** {0}\n", FormatDate());
log.AppendFormat("**Location:** {0}\n", objective.ToShortString());
log.AppendFormat("**Faction:** {0}\n", objective.Faction);

View File

@ -32,7 +32,5 @@ namespace EliteBGS.BGS {
public virtual int CompareTo(LogEntry other) {
throw new NotImplementedException("not implemented");
}
public string Name => this.ToString();
}
}

View File

@ -196,10 +196,6 @@ namespace EliteBGS.BGS {
continue;
}
if (!objective.IsEnabled) {
continue;
}
log.AppendFormat(":globe_with_meridians: `Location:` {0}\n", objective.ToShortString());
log.Append(":clipboard: `Conducted:`\n");
log.Append("```\n");

View File

@ -11,26 +11,11 @@ namespace EliteBGS.BGS {
private List<LogEntry> entries = new List<LogEntry>();
[JsonIgnore]
public bool IsEnabled { get; set; }
[JsonIgnore]
public List<LogEntry> Children {
get => entries;
}
[JsonIgnore]
public string Name => this.ToString();
[JsonIgnore]
public bool IsExpanded { get; set; }
[JsonIgnore]
public List<LogEntry> LogEntries {
get => entries;
set => entries = value;
}
public void Clear() {
if (entries == null) {
return;
@ -38,8 +23,6 @@ namespace EliteBGS.BGS {
entries.RemoveAll(x => !x.ManuallyAdded);
}
public bool ManuallyAdded { get; set; }
public int Matches(LogEntry e) {
int match_count = 0;

View File

@ -48,26 +48,7 @@
<Label Content="To:" Height="26.2857142857143" VerticalAlignment="Top"/>
<DatePicker x:Name="enddate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</ToolBar>
<TreeView x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type BGS:Objective}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<CheckBox Focusable="False" IsChecked="{Binding IsEnabled}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding Name}" Margin="5,0" />
</StackPanel>
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate>
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<TreeView x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp"/>
</Grid>
</TabItem>
<TabItem Header="Discord Report">

View File

@ -107,10 +107,22 @@ namespace EliteBGS {
return;
}
foreach (Objective obj in report.Objectives) {
entries.Items.Add(obj);
obj.IsExpanded = obj.ManuallyAdded;
obj.IsEnabled = obj.ManuallyAdded;
foreach (var obj in report.Objectives) {
var item_objective = new TreeViewItem {
Header = obj.ToString(),
Tag = obj
};
foreach (var log in obj.LogEntries) {
var log_objective = new TreeViewItem {
Header = log.ToString(),
Tag = log
};
item_objective.Items.Add(log_objective);
}
item_objective.IsExpanded = true;
entries.Items.Add(item_objective);
}
}
@ -132,8 +144,7 @@ namespace EliteBGS {
Objective objective = new Objective {
System = system.Text,
Faction = faction.Text,
Station = station.Text,
ManuallyAdded = true,
Station = station.Text
};
if (!objective.IsValid) {
@ -168,18 +179,16 @@ namespace EliteBGS {
return;
}
object obj = entries.SelectedItem;
TreeViewItem item = entries.SelectedItem as TreeViewItem;
var obj = item.Tag;
bool removed = false;
if (obj.GetType() == typeof(Objective)) {
removed = report.Objectives.Remove(obj as Objective);
} else if (obj.GetType() == typeof(LogEntry) ||
obj.GetType().IsSubclassOf(typeof(LogEntry))) {
foreach (Objective parent in report.Objectives) {
if (parent.LogEntries.Remove(obj as LogEntry)) {
removed = true;
}
}
var parent = (item.Parent as TreeViewItem).Tag as Objective;
removed = parent.LogEntries.Remove(obj as LogEntry);
}
if (removed) {

View File

@ -15,9 +15,7 @@ Binary downloads can be found here: [https://bgs.n0la.org/](https://bgs.n0la.org
Use the main tab to add objectives to the program. To do this, insert the system name,
faction, and, optionally, a station. Then press "Add Objective". Objectives can be deleted
by selecting them and pressing the "DEL" key. Manually added objectives like this are
enabled by default. You can always enable, and disable an objective by checking the box
next to its name. Disabled objectives are not included in the BGS discord log generation.
by selecting them and pressing the "DEL" key.
Once you have your objectives have been configured, you can press "Parse Journal", which
will check your Elite Dangerous player journal for completed missions. Currently the tool
@ -43,11 +41,10 @@ the combat zone entries by selecting them, and pressing "DEL".
![Main Window with entries](main-entries.png)
The window will then list all the journal entries it has found, and group them by objectives. You
can remove individual entries (if you think the tool detected something you thought was wrong), by
can remove individual entries (if you think the tool detected soemthing you thought was wrong), by
selecting the entry, and pressing the "DEL" key.
Once you are satisfied with the result, move to "Discord Report" tab, select a template, and click
"Generate Report".
Once you are satisfied with the result, move to "Discord Report" tab, and click "Generate Report".
![Generated Report](main-report.png)
@ -89,13 +86,9 @@ also an ommission from FDev:
Until this is fixed, please edit the resulting BGS log text, and manually add such entries.
The tool also currently cannot differentiate between missions you have abandoned in the transaction
tab before it was completed, and those that you have failed - either delibaretly or by time-out. So
it will find and add them all, and you simply can remove those that you have abandoned manually.
## Use EDDB information
EliteBGS can download information from EDDB to auto complete system and station names. You can
EliteBGS can download information from EDDB to auto complete system- and station names. You can
enable its use in the "Settings". Once enabled, you must also press "Download", to download and
process the current version of the EDDB database.
@ -124,6 +117,6 @@ And of course, `Newtonsoft.Json` as the JSON parser.
## About
This tool was made by CMDR Hekateh (Discord: `nola#2457`).
This tool was made by CMDR Hekateh (Discord: `nola#2457`) of Vulcan Industrial Ventures.
Long live the Empire.

View File

@ -66,15 +66,11 @@ namespace EliteBGS.Util {
public void SaveObjectives(Report report) {
var serializer = JsonSerializer.CreateDefault();
using (FileStream filestream = File.OpenWrite(objectives_file)) {
filestream.SetLength(0);
filestream.Flush();
using (StreamWriter file = new StreamWriter(filestream, Encoding.UTF8)) {
JsonTextWriter stream = new JsonTextWriter(file);
using (var file = new StreamWriter(File.OpenWrite(objectives_file), Encoding.UTF8)) {
var stream = new JsonTextWriter(file);
serializer.Serialize(stream, report.Objectives);
}
}
}
public void LoadObjectives(Report report) {
var serializer = JsonSerializer.CreateDefault();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 67 KiB