Hello community, here is the log from the commit of package quilter for openSUSE:Factory checked in at 2019-06-05 11:46:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/quilter (Old) and /work/SRC/openSUSE:Factory/.quilter.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "quilter" Wed Jun 5 11:46:42 2019 rev:14 rq:707674 version:1.8.5 Changes: -------- --- /work/SRC/openSUSE:Factory/quilter/quilter.changes 2019-05-13 14:52:43.155118036 +0200 +++ /work/SRC/openSUSE:Factory/.quilter.new.5148/quilter.changes 2019-06-05 11:46:46.358986633 +0200 @@ -1,0 +2,6 @@ +Tue May 28 16:58:48 UTC 2019 - Alexei Podvalsky <avvi...@yandex.by> + +- Update to 1.8.5: + * Create FUNDING.yml + +------------------------------------------------------------------- Old: ---- quilter-1.8.4.tar.gz New: ---- quilter-1.8.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ quilter.spec ++++++ --- /var/tmp/diff_new_pack.LtUiwK/_old 2019-06-05 11:46:48.770986027 +0200 +++ /var/tmp/diff_new_pack.LtUiwK/_new 2019-06-05 11:46:48.802986019 +0200 @@ -17,7 +17,7 @@ Name: quilter -Version: 1.8.4 +Version: 1.8.5 Release: 0 Summary: Writing application License: GPL-3.0-only ++++++ quilter-1.8.4.tar.gz -> quilter-1.8.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/.github/FUNDING.yml new/quilter-1.8.5/.github/FUNDING.yml --- old/quilter-1.8.4/.github/FUNDING.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/quilter-1.8.5/.github/FUNDING.yml 2019-05-28 16:12:04.000000000 +0200 @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +patreon: lainsce diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/data/com.github.lainsce.quilter.appdata.xml.in new/quilter-1.8.5/data/com.github.lainsce.quilter.appdata.xml.in --- old/quilter-1.8.4/data/com.github.lainsce.quilter.appdata.xml.in 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/data/com.github.lainsce.quilter.appdata.xml.in 2019-05-28 16:12:04.000000000 +0200 @@ -55,7 +55,16 @@ <content_attribute id="money-gambling">none</content_attribute> </content_rating> <releases> - <release version="1.8.4" date="2019-04-26"> + <release version="1.8.5" date="2019-05-31"> + <description> + <p>Release: Minor Fixes</p> + <ul> + <li>Fixed: Various Sidebar fixes for safety of your files.</li> + <li>Other: Minor fixes in styling.</li> + </ul> + </description> + </release> + <release version="1.8.4" date="2019-04-26"> <description> <p>Release: Minor Fixes</p> <ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/meson.build new/quilter-1.8.5/meson.build --- old/quilter-1.8.4/meson.build 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/meson.build 2019-05-28 16:12:04.000000000 +0200 @@ -1,6 +1,6 @@ # Name our project project('com.github.lainsce.quilter', ['vala', 'c'], - version: '1.8.4' + version: '1.8.5' ) # Import main lib files diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/MainWindow.vala new/quilter-1.8.5/src/MainWindow.vala --- old/quilter-1.8.4/src/MainWindow.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/MainWindow.vala 2019-05-28 16:12:04.000000000 +0200 @@ -91,14 +91,30 @@ Services.FileManager.get_cache_path (); settings.current_file = Services.FileManager.get_cache_path (); + sidebar.store.clear (); + sidebar.get_file_contents_as_items (); + sidebar.view.expand_all (); + if (settings.current_file == "" || toolbar.get_subtitle () == (_("No Documents Open"))) { + Widgets.EditView.buffer.text = ""; + } + settings.changed.connect (on_settings_changed); on_settings_changed (); Widgets.EditView.buffer.changed.connect (() => { render_func (); update_count (); - sidebar.store.clear (); + if (settings.current_file != "") { + sidebar.store.clear (); + sidebar.get_file_contents_as_items (); + sidebar.view.expand_all (); + } else { + Services.FileManager.get_cache_path (); + sidebar.add_file (Services.FileManager.get_cache_path ()); + settings.current_file = Services.FileManager.get_cache_path (); + Widgets.EditView.buffer.text = ""; + sidebar.view.expand_all (); sidebar.get_file_contents_as_items (); sidebar.view.expand_all (); } @@ -463,6 +479,20 @@ } else { set_font_menu.image = new Gtk.Image.from_icon_name ("font-select-symbolic", Gtk.IconSize.SMALL_TOOLBAR); } + + if (settings.current_file != "") { + sidebar.store.clear (); + sidebar.get_file_contents_as_items (); + sidebar.view.expand_all (); + } else { + Services.FileManager.get_cache_path (); + sidebar.add_file (Services.FileManager.get_cache_path ()); + settings.current_file = Services.FileManager.get_cache_path (); + Widgets.EditView.buffer.text = ""; + sidebar.store.clear (); + sidebar.get_file_contents_as_items (); + sidebar.view.expand_all (); + } } private void on_create_new () { @@ -549,6 +579,9 @@ edit_view_content.text = text; edit_view_content.modified = false; + sidebar.store.clear (); + sidebar.get_file_contents_as_items (); + sidebar.view.expand_all (); } catch (Error e) { warning ("Unexpected error during selection: " + e.message); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Services/DialogUtils.vala new/quilter-1.8.5/src/Services/DialogUtils.vala --- old/quilter-1.8.4/src/Services/DialogUtils.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Services/DialogUtils.vala 2019-05-28 16:12:04.000000000 +0200 @@ -52,4 +52,21 @@ cancel.clicked.connect (() => { destroy (); }); } } + + public class Dialog2 : Granite.MessageDialog { + public MainWindow win; + public Dialog2 () { + Object ( + image_icon: new ThemedIcon ("dialog-information"), + primary_text: _("Remove File from Sidebar?"), + secondary_text: _("By removing this file from the Sidebar, you will lose any changes made if not saved. Otherwise, it will only be removed.") + ); + } + construct { + var save = add_button (_("Save"), Gtk.ResponseType.OK); + var cws = add_button (_("Remove Without Saving"), Gtk.ResponseType.NO); + var cancel = add_button (_("Cancel"), Gtk.ResponseType.CANCEL) as Gtk.Button; + cancel.clicked.connect (() => { destroy (); }); + } + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Styles/quilter.vala new/quilter-1.8.5/src/Styles/quilter.vala --- old/quilter-1.8.4/src/Styles/quilter.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Styles/quilter.vala 2019-05-28 16:12:04.000000000 +0200 @@ -66,7 +66,6 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.5rem; - text-align: center; text-transform: uppercase; } @@ -74,22 +73,18 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.25rem; - text-align: center; - text-transform: uppercase; } h4 { margin-top: 1em; margin-bottom: 1em; font-size: 1rem; - text-align: center; } h5 { margin-top: 1em; margin-bottom: 1em; font-size: .875rem; - text-align: center; } h6 { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Styles/quilterdark.vala new/quilter-1.8.5/src/Styles/quilterdark.vala --- old/quilter-1.8.4/src/Styles/quilterdark.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Styles/quilterdark.vala 2019-05-28 16:12:04.000000000 +0200 @@ -66,7 +66,6 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.5rem; - text-align: center; text-transform: uppercase; } @@ -74,22 +73,18 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.25rem; - text-align: center; - text-transform: uppercase; } h4 { margin-top: 1em; margin-bottom: 1em; font-size: 1rem; - text-align: center; } h5 { margin-top: 1em; margin-bottom: 1em; font-size: .875rem; - text-align: center; } h6 { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Styles/quiltermoon.vala new/quilter-1.8.5/src/Styles/quiltermoon.vala --- old/quilter-1.8.4/src/Styles/quiltermoon.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Styles/quiltermoon.vala 2019-05-28 16:12:04.000000000 +0200 @@ -66,7 +66,6 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.5rem; - text-align: center; text-transform: uppercase; } @@ -74,22 +73,18 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.25rem; - text-align: center; - text-transform: uppercase; } h4 { margin-top: 1em; margin-bottom: 1em; font-size: 1rem; - text-align: center; } h5 { margin-top: 1em; margin-bottom: 1em; font-size: .875rem; - text-align: center; } h6 { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Styles/quiltersepia.vala new/quilter-1.8.5/src/Styles/quiltersepia.vala --- old/quilter-1.8.4/src/Styles/quiltersepia.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Styles/quiltersepia.vala 2019-05-28 16:12:04.000000000 +0200 @@ -66,7 +66,6 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.5rem; - text-align: center; text-transform: uppercase; } @@ -74,22 +73,18 @@ margin-top: 1em; margin-bottom: 1em; font-size: 1.25rem; - text-align: center; - text-transform: uppercase; } h4 { margin-top: 1em; margin-bottom: 1em; font-size: 1rem; - text-align: center; } h5 { margin-top: 1em; margin-bottom: 1em; font-size: .875rem; - text-align: center; } h6 { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Widgets/SideBar.vala new/quilter-1.8.5/src/Widgets/SideBar.vala --- old/quilter-1.8.4/src/Widgets/SideBar.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Widgets/SideBar.vala 2019-05-28 16:12:04.000000000 +0200 @@ -39,6 +39,7 @@ private Gtk.TreeIter subsubsection; private Gtk.TreeIter paragraph; private GLib.File file; + private Gtk.Label no_files; private string[] files; public string cache = Path.build_filename (Environment.get_user_data_dir (), "com.github.lainsce.quilter" + "/temp.md"); public Gee.LinkedList<SideBarBox> s_files = null; @@ -47,9 +48,26 @@ public signal void save_as (); public signal void row_selected (Widgets.SideBarBox box); + private static SideBar? instance = null; + public static SideBar get_instance () { + if (instance == null) { + instance = new Widgets.SideBar (Application.win); + } + + return instance; + } + public SideBar (MainWindow win) { this.win = win; + no_files = new Gtk.Label (_("No files…")); + no_files.halign = Gtk.Align.CENTER; + var no_files_style_context = no_files.get_style_context (); + no_files_style_context.add_class ("h2"); + no_files.sensitive = false; + no_files.margin = 12; + no_files.show_all (); + stack = new Gtk.Stack (); stackswitcher = new Gtk.StackSwitcher (); var s_context = stackswitcher.get_style_context (); @@ -63,6 +81,9 @@ stack.add_titled (sidebar_outline (), "outline", _("Outline")); stack.child_set_property (outline_grid, "icon-name", "format-justify-left-symbolic"); + get_file_contents_as_items (); + view.expand_all (); + var grid = new Gtk.Grid (); var g_context = grid.get_style_context (); g_context.add_class ("quilter-sidebar"); @@ -86,12 +107,13 @@ public Gtk.Widget sidebar_files_list () { var settings = AppSettings.get_default (); column = new Gtk.ListBox (); - column.hexpand = false; + column.hexpand = true; column.vexpand = true; column.set_size_request (280,-1); column.activate_on_single_click = true; column.selection_mode = Gtk.SelectionMode.SINGLE; column.set_sort_func (list_sort); + column.set_placeholder (no_files); if (settings.current_file == "") { filebox = new SideBarBox (this.win, Services.FileManager.get_cache_path ()); @@ -139,6 +161,9 @@ tvc.set_sort_column_id (0); tvc.set_sort_order (Gtk.SortType.DESCENDING); view.append_column (tvc); + + store.clear (); + if (settings.current_file != "") { store.clear (); get_file_contents_as_items (); @@ -165,10 +190,7 @@ public void get_file_contents_as_items () { var settings = AppSettings.get_default (); file = GLib.File.new_for_path (settings.current_file); - if (!file.query_exists ()) { - store.insert (out root, null, -1); - store.set (root, 0, _("No File"), -1); - } else if (file.query_exists ()) { + if (file.query_exists ()) { try { var reg = new Regex("(?m)^(?<header>\\#{1,6})\\s(?<text>.+)"); string buffer = ""; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Widgets/SideBarBox.vala new/quilter-1.8.5/src/Widgets/SideBarBox.vala --- old/quilter-1.8.4/src/Widgets/SideBarBox.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Widgets/SideBarBox.vala 2019-05-28 16:12:04.000000000 +0200 @@ -22,7 +22,7 @@ private Gtk.Label file_name_label; private Gtk.Label file_label; public Gtk.Grid file_grid; - public SideBar sb; + public EditView ev; private string? _path; public new string? path { @@ -60,6 +60,7 @@ this.hexpand = false; var sbr_context = this.get_style_context (); sbr_context.add_class ("quilter-sidebar-box"); + file_name_label = new Gtk.Label (""); file_name_label.halign = Gtk.Align.START; file_name_label.hexpand = false; @@ -67,12 +68,15 @@ file_name_label.max_width_chars = 27; var fnl_context = file_name_label.get_style_context (); fnl_context.add_class (Granite.STYLE_CLASS_H3_LABEL); + file_label = new Gtk.Label (""); file_label.halign = Gtk.Align.START; file_label.ellipsize = Pango.EllipsizeMode.START; file_label.max_width_chars = 25; file_label.hexpand = false; + var file_icon = new Gtk.Image.from_icon_name ("text-markdown", Gtk.IconSize.LARGE_TOOLBAR); + var file_remove_button = new Gtk.Button(); var file_remove_button_c = file_remove_button.get_style_context (); file_remove_button_c.add_class ("flat"); @@ -86,6 +90,7 @@ file_remove_button.halign = Gtk.Align.END; file_remove_button.set_image (new Gtk.Image.from_icon_name ("window-close-symbolic",Gtk.IconSize.BUTTON)); file_remove_button.tooltip_text = (_("Remove File")); + file_grid = new Gtk.Grid (); file_grid.hexpand = false; file_grid.row_spacing = 3; @@ -95,24 +100,31 @@ file_grid.attach (file_name_label, 1, 0, 1, 1); file_grid.attach (file_label, 1, 1, 1, 1); file_grid.attach (file_remove_button, 2, 0, 1, 2); + file_remove_button.clicked.connect (() => { - var dialog = new Services.DialogUtils.Dialog (); + var dialog = new Services.DialogUtils.Dialog2 (); dialog.transient_for = win; dialog.response.connect ((response_id) => { switch (response_id) { case Gtk.ResponseType.OK: debug ("User saves the file."); save_as (); - this.destroy (); + delete_row (); dialog.close (); Widgets.EditView.buffer.text = ""; + Widgets.EditView.buffer.set_modified (false); Services.FileManager.file = null; + win.toolbar.set_subtitle (_("No Documents Open")); + Widgets.SideBar.get_instance ().store.clear (); break; case Gtk.ResponseType.NO: - this.destroy (); + delete_row (); dialog.close (); Widgets.EditView.buffer.text = ""; + Widgets.EditView.buffer.set_modified (false); Services.FileManager.file = null; + win.toolbar.set_subtitle (_("No Documents Open")); + Widgets.SideBar.get_instance ().store.clear (); break; case Gtk.ResponseType.CANCEL: case Gtk.ResponseType.CLOSE: @@ -123,19 +135,19 @@ assert_not_reached (); } }); - if (Widgets.EditView.buffer.get_modified() == true) { + if (Widgets.EditView.buffer.get_modified () == true) { dialog.run (); - } else { - this.destroy (); + } else if (Widgets.EditView.buffer.get_modified () == false) { + delete_row (); Widgets.EditView.buffer.text = ""; Services.FileManager.file = null; win.toolbar.set_subtitle (_("No Documents Open")); } }); + this.add (file_grid); this.hexpand = true; this.show_all (); - this.path = path; } public void delete_row () { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quilter-1.8.4/src/Widgets/SourceView.vala new/quilter-1.8.5/src/Widgets/SourceView.vala --- old/quilter-1.8.4/src/Widgets/SourceView.vala 2019-04-25 05:00:41.000000000 +0200 +++ new/quilter-1.8.5/src/Widgets/SourceView.vala 2019-05-28 16:12:04.000000000 +0200 @@ -58,6 +58,7 @@ public bool modified { set { buffer.set_modified (value); + should_scroll = value; } get { @@ -82,10 +83,12 @@ string filename = file.get_path (); GLib.FileUtils.get_contents (filename, out text); buffer.text = text; + modified = false; } else { Services.FileManager.save_tmp_file (); GLib.FileUtils.get_contents (Services.FileManager.get_cache_path (), out text); buffer.text = text; + modified = false; } } catch (Error e) { warning ("Error: %s\n", e.message); @@ -123,16 +126,15 @@ this.set_insert_spaces_instead_of_tabs (true); this.auto_indent = true; - buffer.set_modified (false); - should_scroll = false; + modified = false; buffer.changed.connect (() => { - buffer.set_modified (true); - should_scroll = true; + modified = true; }); - if (settings.current_file == (_("No Documents Open"))) { + if (settings.current_file == "") { buffer.text = ""; + modified = false; } darkgrayfont = buffer.create_tag(null, "foreground", "#888"); @@ -187,7 +189,7 @@ Timeout.add (10000, () => { try { save (); - buffer.set_modified (false); + modified = false; } catch (Error err) { print ("Error writing file: " + err.message); } @@ -255,7 +257,7 @@ set_scheme (get_default_scheme ()); } - + public void dynamic_margins () { var settings = AppSettings.get_default (); int w, h, m, p;