Hello community, here is the log from the commit of package minder for openSUSE:Factory checked in at 2018-10-17 08:42:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/minder (Old) and /work/SRC/openSUSE:Factory/.minder.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minder" Wed Oct 17 08:42:24 2018 rev:4 rq:642428 version:1.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/minder/minder.changes 2018-10-02 19:49:32.385698958 +0200 +++ /work/SRC/openSUSE:Factory/.minder.new/minder.changes 2018-10-17 08:43:15.981760871 +0200 @@ -1,0 +2,17 @@ +Mon Oct 8 11:39:52 UTC 2018 - Alexei Podvalsky <avvi...@yandex.by> + +- Update to 1.1.1: + * Updating release number. + * Updating release information. + * Updating release notes. + * Fixing issues with moving nodes within a parent and attaching + a root node into another node. + * Reducing the minimum height of the note text area for screens + that are shorter. + * Fixing syntax error in appdata.xml file. + * Updating appdata. + * Fixing issues with editing and selecting unicode text that + spans UTF-8 characters. + * adjustments to README + +------------------------------------------------------------------- Old: ---- Minder-1.1.0.tar.gz New: ---- Minder-1.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ minder.spec ++++++ --- /var/tmp/diff_new_pack.4BDDBq/_old 2018-10-17 08:43:16.557760384 +0200 +++ /var/tmp/diff_new_pack.4BDDBq/_new 2018-10-17 08:43:16.557760384 +0200 @@ -17,7 +17,7 @@ Name: minder -Version: 1.1.0 +Version: 1.1.1 Release: 0 Summary: Mind-mapping app License: GPL-3.0-or-later ++++++ Minder-1.1.0.tar.gz -> Minder-1.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minder-1.1.0/README.md new/Minder-1.1.1/README.md --- old/Minder-1.1.0/README.md 2018-09-20 01:47:48.000000000 +0200 +++ new/Minder-1.1.1/README.md 2018-10-03 01:17:07.000000000 +0200 @@ -76,10 +76,10 @@ The property sidebar can be shown or hidden by clicking on the gear icon in the upper right corner of the window. This sidebar contains two tabs, one for editing or taking action on the currently selected node. The other tab allows you to modify the layout or theme that is used for the entire mind map. -<p align="center"> - <a href="https://appcenter.elementary.io/com.github.phase1geo.minder"><img src="https://appcenter.elementary.io/badge.svg" alt="Get it on AppCenter" /></a> -</p> - ## Documentation Minder documentation can be found [here](https://github.com/phase1geo/Minder/wiki/Table-of-Contents). + +<p align="center"> + <a href="https://appcenter.elementary.io/com.github.phase1geo.minder"><img src="https://appcenter.elementary.io/badge.svg" alt="Get it on AppCenter" /></a> +</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minder-1.1.0/data/com.github.phase1geo.minder.appdata.xml new/Minder-1.1.1/data/com.github.phase1geo.minder.appdata.xml --- old/Minder-1.1.0/data/com.github.phase1geo.minder.appdata.xml 2018-09-20 01:47:48.000000000 +0200 +++ new/Minder-1.1.1/data/com.github.phase1geo.minder.appdata.xml 2018-10-03 01:17:07.000000000 +0200 @@ -76,6 +76,17 @@ <content_attribute id="money-gambling">none</content_attribute> </content_rating> <releases> + <release version="1.1.1" date="2018-09-27"> + <description> + <p>Bug fix release</p> + <ul> + <li>Fixed bugs related to editing unicode characters in map area.</li> + <li>Reduced height of node textbox in sidebar to help alleviate window sizing problems.</li> + <li>Fixed issue with moving a node to a different position within a parent node.</li> + <li>Fixed issue connecting a root node to another node.</li> + </ul> + </description> + </release> <release version="1.1" date="2018-09-18"> <description> <p>Images now supported!</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minder-1.1.0/src/Application.vala new/Minder-1.1.1/src/Application.vala --- old/Minder-1.1.0/src/Application.vala 2018-09-20 01:47:48.000000000 +0200 +++ new/Minder-1.1.1/src/Application.vala 2018-10-03 01:17:07.000000000 +0200 @@ -122,7 +122,7 @@ /* If the version was specified, output it and then exit */ if( version ) { - stdout.printf( "1.1.0\n" ); + stdout.printf( "1.1.1\n" ); Process.exit( 0 ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minder-1.1.0/src/Node.vala new/Minder-1.1.1/src/Node.vala --- old/Minder-1.1.0/src/Node.vala 2018-09-20 01:47:48.000000000 +0200 +++ new/Minder-1.1.1/src/Node.vala 2018-10-03 01:17:07.000000000 +0200 @@ -166,7 +166,7 @@ set { _mode = value; _selstart = 0; - _selend = (_mode == NodeMode.EDITABLE) ? name.length : 0; + _selend = (_mode == NodeMode.EDITABLE) ? name.char_count() : 0; _selanchor = 0; _cursor = _selend; } @@ -758,10 +758,12 @@ /* Generates the marked up name that will be displayed in the node */ private string name_markup( Theme? theme ) { if( (_selstart != _selend) && (theme != null) ) { - string fg = color_from_rgba( theme.textsel_foreground ); - string bg = color_from_rgba( theme.textsel_background ); - string seltext = "<span foreground=\"" + fg + "\" background=\"" + bg + "\">" + name.slice( _selstart, _selend ) + "</span>"; - return( name.splice( _selstart, _selend, seltext ) ); + var fg = color_from_rgba( theme.textsel_foreground ); + var bg = color_from_rgba( theme.textsel_background ); + var spos = name.index_of_nth_char( _selstart ); + var epos = name.index_of_nth_char( _selend ); + var seltext = "<span foreground=\"" + fg + "\" background=\"" + bg + "\">" + name.slice( spos, epos ) + "</span>"; + return( name.splice( spos, epos, seltext ) ); } return( name ); } @@ -932,31 +934,38 @@ /* Moves this node into the proper position within the parent node */ public void move_to_position( Node child, NodeSide side, double x, double y, Layout layout ) { - child.detach( side, layout ); - child.attached = true; + int idx = child.index(); for( int i=0; i<_children.length; i++ ) { if( _children.index( i ).side == child.side ) { switch( child.side ) { case NodeSide.LEFT : case NodeSide.RIGHT : if( y < _children.index( i ).posy ) { - child.attach( this, i, null, layout ); + child.detach( side, layout ); + child.attached = true; + child.attach( this, (i - ((idx < i) ? 1 : 0)), null, layout ); return; } break; case NodeSide.TOP : case NodeSide.BOTTOM : if( x < _children.index( i ).posx ) { - child.attach( this, i, null, layout ); + child.detach( side, layout ); + child.attached = true; + child.attach( this, (i - ((idx < i) ? 1 : 0)), null, layout ); return; } break; } } else if( _children.index( i ).side > child.side ) { - child.attach( this, i, null, layout ); + child.detach( side, layout ); + child.attached = true; + child.attach( this, (i - ((idx < i) ? 1 : 0)), null, layout ); return; } } + child.detach( side, layout ); + child.attached = true; child.attach( this, -1, null, layout ); } @@ -967,20 +976,20 @@ int adjusted_x = (int)(x - (posx + _padx + task_width())) * Pango.SCALE; int adjusted_y = (int)(y - (posy + _pady + img_height)) * Pango.SCALE; if( _layout.xy_to_index( adjusted_x, adjusted_y, out cursor, out trailing ) ) { - cursor += trailing; + var cindex = name.char_count( cursor + trailing ); if( motion ) { - if( cursor > _selanchor ) { - _selend = cursor; - } else if( cursor < _selanchor ) { - _selstart = cursor; + if( cindex > _selanchor ) { + _selend = cindex; + } else if( cindex < _selanchor ) { + _selstart = cindex; } else { - _selstart = cursor; - _selend = cursor; + _selstart = cindex; + _selend = cindex; } } else { - _selstart = cursor; - _selend = cursor; - _selanchor = cursor; + _selstart = cindex; + _selend = cindex; + _selanchor = cindex; } _cursor = _selend; } @@ -994,17 +1003,23 @@ int adjusted_y = (int)(y - (posy + _pady + img_height)) * Pango.SCALE; if( _layout.xy_to_index( adjusted_x, adjusted_y, out cursor, out trailing ) ) { cursor += trailing; - int word_start = name.substring( 0, cursor ).last_index_of( " " ); - int word_end = name.index_of( " ", cursor ); + var word_start = name.substring( 0, cursor ).last_index_of( " " ); + var word_end = name.index_of( " ", cursor ); if( word_start == -1 ) { _selstart = 0; - } else if( !motion || (word_start < _selanchor) ) { - _selstart = word_start + 1; + } else { + var windex = name.char_count( word_start ); + if( !motion || (windex < _selanchor) ) { + _selstart = windex + 1; + } } if( word_end == -1 ) { - _selend = name.length; - } else if( !motion || (word_end > _selanchor) ) { - _selend = word_end; + _selend = name.char_count(); + } else { + var windex = name.char_count( word_end ); + if( !motion || (windex > _selanchor) ) { + _selend = windex; + } } _cursor = _selend; } @@ -1014,19 +1029,20 @@ public void set_cursor_all( bool motion ) { if( !motion ) { _selstart = 0; - _selend = name.length; - _selanchor = name.length; - _cursor = name.length; + _selend = name.char_count(); + _selanchor = _selend; + _cursor = _selend; } } /* Move the cursor in the given direction */ public void move_cursor( int dir ) { + var last = name.char_count(); _cursor += dir; if( _cursor < 0 ) { _cursor = 0; - } else if( _cursor > name.length ) { - _cursor = name.length; + } else if( _cursor > last ) { + _cursor = last; } _selend = _selstart; } @@ -1035,7 +1051,8 @@ public void move_cursor_vertically( int dir ) { int line, x; int index, trailing; - _layout.index_to_line_x( _cursor, false, out line, out x ); + var cpos = name.index_of_nth_char( _cursor ); + _layout.index_to_line_x( cpos, false, out line, out x ); line += dir; if( line < 0 ) { line = 0; @@ -1044,7 +1061,7 @@ } var line_layout = _layout.get_line( line ); line_layout.x_to_index( x, out index, out trailing ); - _cursor = index + trailing; + _cursor = name.char_count( index + trailing ); _selend = _selstart; } @@ -1056,7 +1073,7 @@ /* Moves the cursor to the end of the name */ public void move_cursor_to_end() { - _cursor = name.length; + _cursor = name.char_count(); _selend = _selstart; } @@ -1064,11 +1081,15 @@ public void edit_backspace( Layout layout ) { if( _cursor > 0 ) { if( _selstart != _selend ) { - name = name.splice( _selstart, _selend ); - _cursor = _selstart; - _selend = _selstart; + var spos = name.index_of_nth_char( _selstart ); + var epos = name.index_of_nth_char( _selend ); + name = name.splice( spos, epos ); + _cursor = _selstart; + _selend = _selstart; } else { - name = name.splice( (_cursor - 1), _cursor ); + var spos = name.index_of_nth_char( _cursor - 1 ); + var epos = name.index_of_nth_char( _cursor ); + name = name.splice( spos, epos ); _cursor--; } } @@ -1079,11 +1100,15 @@ public void edit_delete( Layout layout ) { if( _cursor < name.length ) { if( _selstart != _selend ) { - name = name.splice( _selstart, _selend ); + var spos = name.index_of_nth_char( _selstart ); + var epos = name.index_of_nth_char( _selend ); + name = name.splice( spos, epos ); _cursor = _selstart; _selend = _selstart; } else { - name = name.splice( _cursor, (_cursor + 1) ); + var spos = name.index_of_nth_char( _cursor ); + var epos = name.index_of_nth_char( _cursor + 1 ); + name = name.splice( spos, epos ); } } layout.handle_update_by_edit( this ); @@ -1091,13 +1116,17 @@ /* Inserts the given string at the current cursor position and adjusts cursor */ public void edit_insert( string s, Layout layout ) { + var slen = s.char_count(); if( _selstart != _selend ) { - name = name.splice( _selstart, _selend, s ); - _cursor = _selstart + s.length; + var spos = name.index_of_nth_char( _selstart ); + var epos = name.index_of_nth_char( _selend ); + name = name.splice( spos, epos, s ); + _cursor = _selstart + slen; _selend = _selstart; } else { - name = name.splice( _cursor, _cursor, s ); - _cursor += s.length; + var cpos = name.index_of_nth_char( _cursor ); + name = name.splice( cpos, cpos, s ); + _cursor += slen; } layout.handle_update_by_edit( this ); } @@ -1108,7 +1137,9 @@ */ public string? get_selected_text() { if( _selstart != _selend ) { - return( name.slice( _selstart, _selend ) ); + var spos = name.index_of_nth_char( _selstart ); + var epos = name.index_of_nth_char( _selend ); + return( name.slice( spos, epos ) ); } return( null ); } @@ -1134,7 +1165,7 @@ /* Attaches this node as a child of the given node */ public virtual void attach( Node parent, int index, Theme? theme, Layout? layout ) { - if( is_root() ) { + if( index == -1 ) { attach_root( parent, theme, layout ); } else { attach_nonroot( parent, index, theme, layout ); @@ -1145,8 +1176,8 @@ public virtual void attach_root( Node parent, Theme? theme, Layout? layout ) { this.parent = parent; if( layout != null ) { - if( children().length > 0 ) { - side = children().index( children().length - 1 ).side; + if( parent.children().length > 0 ) { + side = parent.children().index( parent.children().length - 1 ).side; layout.propagate_side( this, side ); } layout.initialize( this ); @@ -1516,7 +1547,8 @@ /* Draw the insertion cursor if we are in the 'editable' state */ if( mode == NodeMode.EDITABLE ) { - var rect = _layout.index_to_pos( _cursor ); + var cpos = name.index_of_nth_char( _cursor ); + var rect = _layout.index_to_pos( cpos ); set_context_color( ctx, theme.text_cursor ); double ix, iy; ix = (posx + _padx + twidth) + (rect.x / Pango.SCALE) - 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minder-1.1.0/src/NodeInspector.vala new/Minder-1.1.1/src/NodeInspector.vala --- old/Minder-1.1.0/src/NodeInspector.vala 2018-09-20 01:47:48.000000000 +0200 +++ new/Minder-1.1.1/src/NodeInspector.vala 2018-10-03 01:17:07.000000000 +0200 @@ -180,7 +180,7 @@ ScrolledWindow sw = new ScrolledWindow( null, null ); sw.min_content_width = 300; - sw.min_content_height = 300; + sw.min_content_height = 100; sw.add( _note ); box.pack_start( lbl, false, false );