diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/Makefile.am | 3 | ||||
-rw-r--r-- | data/main.vala | 34 |
2 files changed, 21 insertions, 16 deletions
diff --git a/data/Makefile.am b/data/Makefile.am index aadd619c..f9720a95 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,6 +1,7 @@ AM_CFLAGS = -DGNOME_DESKTOP_USE_UNSTABLE_API AM_LDFLAGS = -lm -AM_VALAFLAGS = --metadatadir $(top_srcdir)/deps \ +AM_VALAFLAGS = --enable-experimental-non-null \ + --metadatadir $(top_srcdir)/deps \ --vapidir $(top_srcdir)/deps noinst_PROGRAMS = indicator-keyboard-icon-generator diff --git a/data/main.vala b/data/main.vala index dec6e6cf..ead0edd5 100644 --- a/data/main.vala +++ b/data/main.vala @@ -10,9 +10,9 @@ int main (string[] args) { var weight = 500; var layout_size = 12; var subscript_size = 8; - string output_path = null; - string no_subscript_path = null; - string with_subscript_path = null; + string? output_path = null; + string? no_subscript_path = null; + string? with_subscript_path = null; OptionEntry[] options = new OptionEntry[15]; options[0] = { "force", 'f', 0, OptionArg.NONE, ref force, "Overwrite existing files" }; @@ -29,7 +29,7 @@ int main (string[] args) { options[11] = { "output", 'o', 0, OptionArg.FILENAME, ref output_path, "Output directory", "PATH" }; options[12] = { "no-subscript", 'i', 0, OptionArg.FILENAME, ref no_subscript_path, "Icon template", "PATH" }; options[13] = { "with-subscript", 'I', 0, OptionArg.FILENAME, ref with_subscript_path, "Subscript icon template", "PATH" }; - options[14] = { null }; + options[14] = { }; try { var context = new OptionContext ("- generate keyboard layout icons"); @@ -51,7 +51,7 @@ int main (string[] args) { } if (output_path != null) { - var file = File.new_for_path (output_path); + var file = File.new_for_path ((!) output_path); if (!file.query_exists (null)) { try { @@ -72,16 +72,20 @@ int main (string[] args) { var occurrences = new Gee.HashMap <string, int> (); layouts.foreach ((name) => { - string short_name; + string? short_name; info.get_layout_info (name, null, out short_name, null, null); - var abbreviation = get_abbreviation (short_name); + if (short_name != null) { + var abbreviation = get_abbreviation ((!) short_name); - if (!occurrences.has_key (abbreviation)) { - occurrences[abbreviation] = 1; - } else { - occurrences[abbreviation] = occurrences[abbreviation] + 1; + if (abbreviation.get_char () != '\0') { + if (!occurrences.has_key (abbreviation)) { + occurrences[abbreviation] = 1; + } else { + occurrences[abbreviation] = occurrences[abbreviation] + 1; + } + } } }); @@ -96,7 +100,7 @@ int main (string[] args) { var layout_font = @"font-family:$font;font-weight:$weight;font-size:$layout_size"; var subscript_font = @"font-family:$font;font-weight:$weight;font-size:$subscript_size"; - File.new_for_path (no_subscript_path).load_contents (null, out contents, null); + File.new_for_path ((!) no_subscript_path).load_contents (null, out contents, null); no_subscript_data = (string) contents; no_subscript_data = no_subscript_data.replace ("@WIDTH@", @"$width"); no_subscript_data = no_subscript_data.replace ("@HEIGHT@", @"$height"); @@ -109,7 +113,7 @@ int main (string[] args) { no_subscript_data = no_subscript_data.replace ("@LAYOUT_FONT@", layout_font); no_subscript_data = no_subscript_data.replace ("@SUBSCRIPT_FONT@", subscript_font); - File.new_for_path (with_subscript_path).load_contents (null, out contents, null); + File.new_for_path ((!) with_subscript_path).load_contents (null, out contents, null); with_subscript_data = (string) contents; with_subscript_data = with_subscript_data.replace ("@WIDTH@", @"$width"); with_subscript_data = with_subscript_data.replace ("@HEIGHT@", @"$height"); @@ -145,7 +149,7 @@ int main (string[] args) { foreach (var entry in occurrences.entries) { var layout = entry.key; var count = entry.value; - var file = File.new_for_path (@"$output_path/indicator-keyboard-$layout.svg"); + var file = File.new_for_path (@"$((!) output_path)/indicator-keyboard-$layout.svg"); if (force || !file.query_exists (null)) { int layout_width; @@ -188,7 +192,7 @@ int main (string[] args) { partial_data = partial_data.replace ("@LAYOUT_Y@", @"$layout_y"); for (var i = 1; i <= count; i++) { - file = File.new_for_path (@"$output_path/indicator-keyboard-$layout-$i.svg"); + file = File.new_for_path (@"$((!) output_path)/indicator-keyboard-$layout-$i.svg"); if (force || !file.query_exists (null)) { var subscript = @"$i"; |