openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2015
- 1 participants
- 1128 discussions
Hello community,
here is the log from the commit of package jemalloc for openSUSE:Factory checked in at 2015-09-30 05:52:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jemalloc (Old)
and /work/SRC/openSUSE:Factory/.jemalloc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jemalloc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/jemalloc/jemalloc.changes 2014-04-02 17:23:13.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.jemalloc.new/jemalloc.changes 2015-09-30 05:53:03.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Sep 25 08:31:08 UTC 2015 - idonmez(a)suse.com
+
+- Update to version 4.0.3
+ * See included ChangeLog for complete changes.
+
+-------------------------------------------------------------------
Old:
----
jemalloc-3.6.0.tar.bz2
New:
----
jemalloc-4.0.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jemalloc.spec ++++++
--- /var/tmp/diff_new_pack.PURdJ0/_old 2015-09-30 05:53:04.000000000 +0200
+++ /var/tmp/diff_new_pack.PURdJ0/_new 2015-09-30 05:53:04.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package jemalloc
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
Name: jemalloc
-Version: 3.6.0
+Version: 4.0.3
Release: 0
-%define lname libjemalloc1
+%define lname libjemalloc2
Summary: General-purpose scalable concurrent malloc implementation
License: BSD-2-Clause
Group: Development/Libraries/C and C++
@@ -29,6 +29,7 @@
Source: http://www.canonware.com/download/jemalloc/jemalloc-%{version}.tar.bz2
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libxslt
+BuildRequires: pkgconfig
Requires: %lname = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -83,8 +84,6 @@
mv "$b/%{_datadir}/doc/jemalloc" "$b/%_docdir/%{name}";
fi;
-mv %{buildroot}/%{_bindir}/pprof %{buildroot}/%{_bindir}/pprof-jemalloc
-
%check
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
make check
@@ -92,18 +91,21 @@
%files
%defattr(-,root,root)
%{_bindir}/jemalloc.sh
-%{_bindir}/pprof-jemalloc
+%{_bindir}/jemalloc-config
+%{_bindir}/jeprof
%{_mandir}/man*/*
%_docdir/%{name}
-%files -n %lname
+%files -n %{lname}
%defattr(-,root,root)
-%{_libdir}/libjemalloc.so.1*
+%doc ChangeLog COPYING README
+%{_libdir}/libjemalloc.so.2*
%files devel
%defattr(-,root,root,-)
%{_includedir}/jemalloc
%{_libdir}/libjemalloc.so
+%{_libdir}/pkgconfig/jemalloc.pc
%files devel-static
%defattr(-,root,root,-)
++++++ jemalloc-3.6.0.tar.bz2 -> jemalloc-4.0.3.tar.bz2 ++++++
++++ 52377 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package vertex-gtk-theme for openSUSE:Factory checked in at 2015-09-30 05:52:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vertex-gtk-theme (Old)
and /work/SRC/openSUSE:Factory/.vertex-gtk-theme.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vertex-gtk-theme"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vertex-gtk-theme/vertex-gtk-theme.changes 2015-07-23 15:22:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vertex-gtk-theme.new/vertex-gtk-theme.changes 2015-09-30 05:53:02.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Sep 27 15:37:48 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 20150923:
+ * Add GNOME 3.18 support.
+- Force Adwaita icon theme.
+
+-------------------------------------------------------------------
Old:
----
vertex-gtk-theme-20150718.tar.gz
New:
----
vertex-gtk-theme-20150923.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vertex-gtk-theme.spec ++++++
--- /var/tmp/diff_new_pack.uxxGfl/_old 2015-09-30 05:53:02.000000000 +0200
+++ /var/tmp/diff_new_pack.uxxGfl/_new 2015-09-30 05:53:02.000000000 +0200
@@ -19,7 +19,7 @@
%define _theme Vertex
%define _name vertex
Name: vertex-gtk-theme
-Version: 20150718
+Version: 20150923
Release: 0
Summary: Vertex GTK+ theme
License: GPL-3.0+
@@ -40,7 +40,7 @@
%package -n metatheme-%{_name}-common
Summary: Vertex Common Theme Files
Group: System/GUI/Other
-Recommends: gnome-icon-theme
+Recommends: adwaita-icon-theme
Suggests: gtk2-metatheme-%{_name} = %{version}
Suggests: gtk3-metatheme-%{_name} = %{version}
@@ -82,6 +82,7 @@
%prep
%setup -q -n %{_theme}-theme-%{version}
+sed -i 's/^\(IconTheme=\).*$/\1Adwaita/' common/index.theme*
%build
autoreconf -fi
++++++ vertex-gtk-theme-20150718.tar.gz -> vertex-gtk-theme-20150923.tar.gz ++++++
++++ 75492 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package hawk for openSUSE:Factory checked in at 2015-09-30 05:52:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hawk (Old)
and /work/SRC/openSUSE:Factory/.hawk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hawk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hawk/hawk.changes 2015-09-17 09:21:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hawk.new/hawk.changes 2015-09-30 05:52:59.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Sep 28 09:31:17 UTC 2015 - kgronlund(a)suse.com
+
+- Update to version 1.0.0+git.1443432013.2f906a6:
+ + Set required environment variables before calling into hawk_monitor
+ + Reimplement /monitor as a Live controller (bsc#947748)
+ + Service: Increase number of workers to 3
+
+-------------------------------------------------------------------
Old:
----
hawk-1.0.0+git.1442306233.6cf343c.tar.bz2
New:
----
hawk-1.0.0+git.1443432013.2f906a6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hawk.spec ++++++
--- /var/tmp/diff_new_pack.XpE9dn/_old 2015-09-30 05:53:01.000000000 +0200
+++ /var/tmp/diff_new_pack.XpE9dn/_new 2015-09-30 05:53:01.000000000 +0200
@@ -39,7 +39,7 @@
Summary: HA Web Konsole
License: GPL-2.0 and Apache-2.0
Group: %{pkg_group}
-Version: 1.0.0+git.1442306233.6cf343c
+Version: 1.0.0+git.1443432013.2f906a6
Release: 0
Url: http://www.clusterlabs.org/wiki/Hawk
Source: %{name}-%{version}.tar.bz2
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.XpE9dn/_old 2015-09-30 05:53:01.000000000 +0200
+++ /var/tmp/diff_new_pack.XpE9dn/_new 2015-09-30 05:53:01.000000000 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/ClusterLabs/hawk.git</param>
- <param name="changesrevision">6cf343c72cd4f740c8ebd7217f46fd6c3f45b914</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">2f906a643f54fb1c5b9cd67aa5b71ec242c26b7f</param></service></servicedata>
\ No newline at end of file
++++++ hawk-1.0.0+git.1442306233.6cf343c.tar.bz2 -> hawk-1.0.0+git.1443432013.2f906a6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/main_controller.rb new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/main_controller.rb
--- old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/main_controller.rb 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/main_controller.rb 2015-09-28 11:31:09.000000000 +0200
@@ -78,23 +78,6 @@
@title = _('Cluster Status')
end
- def monitor
- require "open3"
-
- result = Open3.popen3("/usr/sbin/hawk_monitor") do |i, o|
- o.read
- end
-
- headers, body = result.split("\n\n", 2)
-
- headers.split("\n").each do |header|
- name, value = header.split(":")
- response.headers[name] = value.strip
- end
-
- render json: body
- end
-
# TODO(should): Node ops, resource ops, arguably belong in separate
# node and resource controllers/models. Note this would change the
# class hierarchy for primitve, group, etc., e.g.:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/monitor_controller.rb new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/monitor_controller.rb
--- old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/monitor_controller.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/monitor_controller.rb 2015-09-28 11:31:09.000000000 +0200
@@ -0,0 +1,54 @@
+#======================================================================
+# HA Web Konsole (Hawk)
+# --------------------------------------------------------------------
+# A web-based GUI for managing and monitoring the
+# Pacemaker High-Availability cluster resource manager
+#
+# Copyright (c) 2009-2013 SUSE LLC, All Rights Reserved.
+#
+# Author: Tim Serong <tserong(a)suse.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Further, this software is distributed without any warranty that it is
+# free of the rightful claim of any third person regarding infringement
+# or the like. Any license provided herein, whether implied or
+# otherwise, applies only to this software file. Patent licenses, if
+# any, provided herein do not apply to combinations of this program with
+# other software, or any other product whatsoever.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+#
+#======================================================================
+
+require 'util'
+require 'open3'
+
+class MonitorController < ApplicationController
+ include ActionController::Live
+
+ def monitor
+ ENV['QUERY_STRING'] = request.query_string.to_s
+ ENV['HTTP_ORIGIN'] = request.env['HTTP_ORIGIN']
+
+ response.headers['Content-Type'] = 'text/event-stream'
+ response.headers['Access-Control-Allow-Origin'] = request.env['HTTP_ORIGIN']
+ response.headers['Access-Control-Allow-Credentials'] = "true" # may not be necessary
+ Open3.popen3("/usr/sbin/hawk_monitor") do |i, o|
+ result = o.read
+ _, body = result.split("\n\n", 2)
+ response.stream.write(body.to_s + "\n")
+ end
+ ensure
+ response.stream.close
+ end
+
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/hawk/config/routes.rb new/hawk-1.0.0+git.1443432013.2f906a6/hawk/config/routes.rb
--- old/hawk-1.0.0+git.1442306233.6cf343c/hawk/config/routes.rb 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/hawk/config/routes.rb 2015-09-28 11:31:09.000000000 +0200
@@ -86,5 +86,5 @@
match '/login' => 'sessions#new', as: :login, via: [:get, :post]
match '/logout' => 'sessions#destroy', as: :logout, via: [:get, :post]
match 'dashboard' => 'dashboard#index', as: :dashboard, via: [:get, :post]
- get 'monitor' => 'main#monitor', :as => :monitor
+ get 'monitor' => 'monitor#monitor', :as => :monitor
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.bundle_gems.in new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.bundle_gems.in
--- old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.bundle_gems.in 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.bundle_gems.in 2015-09-28 11:31:09.000000000 +0200
@@ -15,7 +15,7 @@
Environment="GEM_PATH=@GEM_PATH@"
Environment="HAWK_ENV=production"
Environment="HAWK_THREADS=1"
-Environment="HAWK_WORKERS=2"
+Environment="HAWK_WORKERS=3"
Environment="HAWK_LISTEN=0.0.0.0"
Environment="HAWK_PORT=7630"
Environment="HAWK_KEY=/etc/hawk/hawk.pem"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.in new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.in
--- old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.in 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.in 2015-09-28 11:31:09.000000000 +0200
@@ -14,7 +14,7 @@
Environment="HAWK_ENV=production"
Environment="HAWK_THREADS=1"
-Environment="HAWK_WORKERS=2"
+Environment="HAWK_WORKERS=3"
Environment="HAWK_LISTEN=0.0.0.0"
Environment="HAWK_PORT=7630"
Environment="HAWK_KEY=/etc/hawk/hawk.pem"
1
0
Hello community,
here is the log from the commit of package xfce4-panel-plugin-places for openSUSE:Factory checked in at 2015-09-30 05:52:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-panel-plugin-places (Old)
and /work/SRC/openSUSE:Factory/.xfce4-panel-plugin-places.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfce4-panel-plugin-places"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-panel-plugin-places/xfce4-panel-plugin-places.changes 2015-03-09 10:08:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xfce4-panel-plugin-places.new/xfce4-panel-plugin-places.changes 2015-09-30 05:52:58.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 28 09:08:01 UTC 2015 - cyberorg(a)opensuse.org
+
+- add -fgnu89-inline fix undefined symbol: places_bookmark_destroy
+ see https://bugzilla.redhat.com/show_bug.cgi?id=1225713
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfce4-panel-plugin-places.spec ++++++
--- /var/tmp/diff_new_pack.qVJDoD/_old 2015-09-30 05:52:59.000000000 +0200
+++ /var/tmp/diff_new_pack.qVJDoD/_new 2015-09-30 05:52:59.000000000 +0200
@@ -54,6 +54,8 @@
%setup -q -n %{plugin_name}-%{version}
%build
+#remove this export once the fix is upstream code
+export CFLAGS="$CFLAGS -fgnu89-inline"
%configure --disable-static
make %{?_smp_mflags} V=1
1
0
Hello community,
here is the log from the commit of package java-1_9_0-openjdk for openSUSE:Factory checked in at 2015-09-30 05:52:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-1_9_0-openjdk (Old)
and /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-1_9_0-openjdk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/java-1_9_0-openjdk.changes 2015-09-24 06:15:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/java-1_9_0-openjdk.changes 2015-09-30 05:52:56.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 28 06:18:39 UTC 2015 - fstrba(a)suse.com
+
+- Upgrade to upstream tag jdk9-b83
+
+-------------------------------------------------------------------
Old:
----
1c453a12be30.tar.bz2
42b56d1f4185.tar.bz2
52d9ad2536ba.tar.bz2
53fe3c103b6f.tar.bz2
8bab0a9d8a63.tar.bz2
b10b64263b56.tar.bz2
c20d8ebddaa6.tar.bz2
d68904d5a00e.tar.bz2
New:
----
21b86b980a5f.tar.bz2
3ed0df2c553a.tar.bz2
497bc2654e11.tar.bz2
6b3b94a2ebca.tar.bz2
ca8a17195884.tar.bz2
ce5c14d97d95.tar.bz2
d11f25ce3c54.tar.bz2
d7ee8157f4fe.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-1_9_0-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.SS40jE/_old 2015-09-30 05:52:58.000000000 +0200
+++ /var/tmp/diff_new_pack.SS40jE/_new 2015-09-30 05:52:58.000000000 +0200
@@ -33,17 +33,17 @@
%global minorver 9
%global microver 0
%global updatever 0
-%global buildver b82
+%global buildver b83
%global root_project jdk9
%global root_repository jdk9
-%global root_revision 42b56d1f4185
-%global corba_revision c20d8ebddaa6
-%global hotspot_revision 1c453a12be30
-%global jaxp_revision 53fe3c103b6f
-%global jaxws_revision 52d9ad2536ba
-%global jdk_revision b10b64263b56
-%global langtools_revision d68904d5a00e
-%global nashorn_revision 8bab0a9d8a63
+%global root_revision ce5c14d97d95
+%global corba_revision ca8a17195884
+%global hotspot_revision 3ed0df2c553a
+%global jaxp_revision 497bc2654e11
+%global jaxws_revision d7ee8157f4fe
+%global jdk_revision d11f25ce3c54
+%global langtools_revision 6b3b94a2ebca
+%global nashorn_revision 21b86b980a5f
%global icedtea_sound_version 1.0.1
# priority must be 6 digits in total
%global priority 1905
++++++ 1c453a12be30.tar.bz2 -> 21b86b980a5f.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/21b86b980a5f.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> 3ed0df2c553a.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/3ed0df2c553a.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> 497bc2654e11.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/497bc2654e11.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> 6b3b94a2ebca.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/6b3b94a2ebca.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> ca8a17195884.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/ca8a17195884.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> ce5c14d97d95.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/ce5c14d97d95.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> d11f25ce3c54.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/d11f25ce3c54.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> d7ee8157f4fe.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/d7ee8157f4fe.tar.bz2 differ: char 11, line 1
1
0
Hello community,
here is the log from the commit of package drbd for openSUSE:Factory checked in at 2015-09-30 05:52:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/drbd (Old)
and /work/SRC/openSUSE:Factory/.drbd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "drbd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/drbd/drbd.changes 2015-08-21 07:41:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.drbd.new/drbd.changes 2015-09-30 05:52:50.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 25 04:52:12 UTC 2015 - nwang(a)suse.com
+
+- BSC#947460, add rcdrbd symlink.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ drbd.spec ++++++
--- /var/tmp/diff_new_pack.Kxm1GF/_old 2015-09-30 05:52:51.000000000 +0200
+++ /var/tmp/diff_new_pack.Kxm1GF/_new 2015-09-30 05:52:51.000000000 +0200
@@ -94,6 +94,8 @@
#mv obj/$flavor/.kernel.config.gz obj/k-config-$kernelrelease.gz
done
+mkdir -p %{buildroot}/%{_sbindir}
+%{__ln_s} -f %{_sbindir}/service %{buildroot}/%{_sbindir}/rc%{name}
rm -f drbd.conf
%clean
@@ -103,5 +105,6 @@
%defattr(-,root,root)
%doc COPYING
%doc ChangeLog
+%{_sbindir}/rc%{name}
%changelog
1
0
Hello community,
here is the log from the commit of package notepadqq for openSUSE:Factory checked in at 2015-09-30 05:52:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/notepadqq (Old)
and /work/SRC/openSUSE:Factory/.notepadqq.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "notepadqq"
Changes:
--------
--- /work/SRC/openSUSE:Factory/notepadqq/notepadqq.changes 2015-09-11 09:05:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.notepadqq.new/notepadqq.changes 2015-09-30 05:52:46.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Sep 27 15:37:48 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 0.50.4 (changes since 0.50.2):
+ * Fullscreen.
+ * UI fixes.
+
+-------------------------------------------------------------------
Old:
----
notepadqq_0.50.2.orig.tar.bz2
New:
----
notepadqq_0.50.4.orig.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ notepadqq.spec ++++++
--- /var/tmp/diff_new_pack.dIaiXg/_old 2015-09-30 05:52:47.000000000 +0200
+++ /var/tmp/diff_new_pack.dIaiXg/_new 2015-09-30 05:52:47.000000000 +0200
@@ -17,7 +17,7 @@
Name: notepadqq
-Version: 0.50.2
+Version: 0.50.4
Release: 0
Summary: Notepad++-like editor
License: GPL-3.0+
++++++ notepadqq_0.50.2.orig.tar.bz2 -> notepadqq_0.50.4.orig.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/Extensions/installextension.ui new/src/ui/Extensions/installextension.ui
--- old/src/ui/Extensions/installextension.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/Extensions/installextension.ui 2015-09-18 17:16:08.000000000 +0200
@@ -15,7 +15,7 @@
</property>
<property name="windowIcon">
<iconset resource="../resources.qrc">
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/Search/frmsearchreplace.ui new/src/ui/Search/frmsearchreplace.ui
--- old/src/ui/Search/frmsearchreplace.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/Search/frmsearchreplace.ui 2015-09-18 17:16:08.000000000 +0200
@@ -15,7 +15,7 @@
</property>
<property name="windowIcon">
<iconset resource="../resources.qrc">
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QVBoxLayout" name="verticalLayout_4">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/frmabout.ui new/src/ui/frmabout.ui
--- old/src/ui/frmabout.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/frmabout.ui 2015-09-18 17:16:08.000000000 +0200
@@ -18,7 +18,7 @@
</property>
<property name="windowIcon">
<iconset>
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<property name="styleSheet">
<string notr="true">QDialog { background-color: rgb(255, 255, 255); }</string>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/frmencodingchooser.ui new/src/ui/frmencodingchooser.ui
--- old/src/ui/frmencodingchooser.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/frmencodingchooser.ui 2015-09-18 17:16:08.000000000 +0200
@@ -18,7 +18,7 @@
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<property name="modal">
<bool>true</bool>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/frmindentationmode.ui new/src/ui/frmindentationmode.ui
--- old/src/ui/frmindentationmode.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/frmindentationmode.ui 2015-09-18 17:16:08.000000000 +0200
@@ -15,7 +15,7 @@
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/frmlinenumberchooser.ui new/src/ui/frmlinenumberchooser.ui
--- old/src/ui/frmlinenumberchooser.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/frmlinenumberchooser.ui 2015-09-18 17:16:08.000000000 +0200
@@ -15,7 +15,7 @@
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/frmpreferences.ui new/src/ui/frmpreferences.ui
--- old/src/ui/frmpreferences.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/frmpreferences.ui 2015-09-18 17:16:08.000000000 +0200
@@ -15,7 +15,7 @@
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/iconprovider.cpp new/src/ui/iconprovider.cpp
--- old/src/ui/iconprovider.cpp 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/iconprovider.cpp 2015-09-18 17:16:08.000000000 +0200
@@ -7,9 +7,15 @@
QIcon IconProvider::fromTheme(const QString &name)
{
// FIXME Cache the icons
- QIcon icon = QIcon::fromTheme(name);
- if (icon.isNull()) {
- QString basePath = ":/icons/default/%1/%2.%3";
+
+ if (QIcon::hasThemeIcon(name)) {
+ return QIcon::fromTheme(name);
+
+ } else {
+ // QIcon::setThemeName("notepadqq");
+ QIcon icon;
+
+ QString basePath = ":/icons/notepadqq/%1/%2.%3";
QList<QPair<int, QString>> sizes {
QPair<int, QString>(16, "16x16"),
QPair<int, QString>(64, "64x64"),
@@ -24,7 +30,7 @@
icon.addFile(basePath.arg("scalable").arg(name).arg("svg"),
QSize(512, 512));
- }
- return icon;
+ return icon;
+ }
}
Files old/src/ui/icons/default/128x128/document-save.png and new/src/ui/icons/default/128x128/document-save.png differ
Files old/src/ui/icons/default/16x16/document-close-all.png and new/src/ui/icons/default/16x16/document-close-all.png differ
Files old/src/ui/icons/default/16x16/document-close.png and new/src/ui/icons/default/16x16/document-close.png differ
Files old/src/ui/icons/default/16x16/document-new.png and new/src/ui/icons/default/16x16/document-new.png differ
Files old/src/ui/icons/default/16x16/document-open.png and new/src/ui/icons/default/16x16/document-open.png differ
Files old/src/ui/icons/default/16x16/document-print.png and new/src/ui/icons/default/16x16/document-print.png differ
Files old/src/ui/icons/default/16x16/document-save-all.png and new/src/ui/icons/default/16x16/document-save-all.png differ
Files old/src/ui/icons/default/16x16/document-save-as.png and new/src/ui/icons/default/16x16/document-save-as.png differ
Files old/src/ui/icons/default/16x16/document-save.png and new/src/ui/icons/default/16x16/document-save.png differ
Files old/src/ui/icons/default/16x16/edit-copy.png and new/src/ui/icons/default/16x16/edit-copy.png differ
Files old/src/ui/icons/default/16x16/edit-cut.png and new/src/ui/icons/default/16x16/edit-cut.png differ
Files old/src/ui/icons/default/16x16/edit-find-replace.png and new/src/ui/icons/default/16x16/edit-find-replace.png differ
Files old/src/ui/icons/default/16x16/edit-find.png and new/src/ui/icons/default/16x16/edit-find.png differ
Files old/src/ui/icons/default/16x16/edit-paste.png and new/src/ui/icons/default/16x16/edit-paste.png differ
Files old/src/ui/icons/default/16x16/edit-redo.png and new/src/ui/icons/default/16x16/edit-redo.png differ
Files old/src/ui/icons/default/16x16/edit-undo.png and new/src/ui/icons/default/16x16/edit-undo.png differ
Files old/src/ui/icons/default/16x16/go-next.png and new/src/ui/icons/default/16x16/go-next.png differ
Files old/src/ui/icons/default/16x16/go-previous.png and new/src/ui/icons/default/16x16/go-previous.png differ
Files old/src/ui/icons/default/16x16/media-playback-start.png and new/src/ui/icons/default/16x16/media-playback-start.png differ
Files old/src/ui/icons/default/16x16/media-playback-stop.png and new/src/ui/icons/default/16x16/media-playback-stop.png differ
Files old/src/ui/icons/default/16x16/media-record.png and new/src/ui/icons/default/16x16/media-record.png differ
Files old/src/ui/icons/default/16x16/media-seek-forward.png and new/src/ui/icons/default/16x16/media-seek-forward.png differ
Files old/src/ui/icons/default/16x16/notepadqq-document-saved.png and new/src/ui/icons/default/16x16/notepadqq-document-saved.png differ
Files old/src/ui/icons/default/16x16/notepadqq-document-unsaved.png and new/src/ui/icons/default/16x16/notepadqq-document-unsaved.png differ
Files old/src/ui/icons/default/16x16/preferences-other.png and new/src/ui/icons/default/16x16/preferences-other.png differ
Files old/src/ui/icons/default/16x16/show-special-chars.png and new/src/ui/icons/default/16x16/show-special-chars.png differ
Files old/src/ui/icons/default/16x16/word-wrap.png and new/src/ui/icons/default/16x16/word-wrap.png differ
Files old/src/ui/icons/default/16x16/zoom-in.png and new/src/ui/icons/default/16x16/zoom-in.png differ
Files old/src/ui/icons/default/16x16/zoom-original.png and new/src/ui/icons/default/16x16/zoom-original.png differ
Files old/src/ui/icons/default/16x16/zoom-out.png and new/src/ui/icons/default/16x16/zoom-out.png differ
Files old/src/ui/icons/default/64x64/document-save.png and new/src/ui/icons/default/64x64/document-save.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/icons/default/index.theme new/src/ui/icons/default/index.theme
--- old/src/ui/icons/default/index.theme 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/icons/default/index.theme 1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-[Icon Theme]
-Name=default
-Comment=Default theme for notepadqq
-Inherits=default
-Directories=16x16,64x64,128x128,scalable
-
-[16x16]
-Size=16
-Type=Fixed
-
-[64x64]
-Size=64
-Type=Fixed
-
-[128x128]
-Size=128
-Type=Fixed
-
-[scalable]
-Size=16
-Type=Scalable
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/icons/default/scalable/notepadqq.svg new/src/ui/icons/default/scalable/notepadqq.svg
--- old/src/ui/icons/default/scalable/notepadqq.svg 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/icons/default/scalable/notepadqq.svg 1970-01-01 01:00:00.000000000 +0100
@@ -1,229 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- version="1.1"
- width="720"
- height="720"
- id="svg5107">
- <defs
- id="defs5109">
- <linearGradient
- id="linearGradient2873">
- <stop
- id="stop2875"
- style="stop-color:#939393;stop-opacity:1"
- offset="0" />
- <stop
- id="stop2877"
- style="stop-color:#424242;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient5046">
- <stop
- id="stop5048"
- style="stop-color:#ffffff;stop-opacity:1"
- offset="0" />
- <stop
- id="stop5050"
- style="stop-color:#b9dca6;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient5004">
- <stop
- id="stop5006"
- style="stop-color:#de9649;stop-opacity:1"
- offset="0" />
- <stop
- id="stop5008"
- style="stop-color:#3d250b;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient2974">
- <stop
- id="stop2976"
- style="stop-color:#c1c1c1;stop-opacity:1"
- offset="0" />
- <stop
- id="stop4984"
- style="stop-color:#f3f3f3;stop-opacity:1"
- offset="0.5" />
- <stop
- id="stop2978"
- style="stop-color:#cacaca;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient2994">
- <stop
- id="stop2996"
- style="stop-color:#000000;stop-opacity:1"
- offset="0" />
- <stop
- id="stop2998"
- style="stop-color:#c9c9c9;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- x1="301.65262"
- y1="77.063858"
- x2="302.71622"
- y2="139.44009"
- id="linearGradient3188"
- xlink:href="#linearGradient2873"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.36375344,0,0,0.36375344,128.81743,433.09205)" />
- <linearGradient
- x1="27.939529"
- y1="33.832268"
- x2="511.31018"
- y2="729.57697"
- id="linearGradient3858"
- xlink:href="#linearGradient5046"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0504018,0,0,0.99625498,111.44393,35.819819)" />
- <linearGradient
- id="linearGradient2994-0">
- <stop
- id="stop2996-3"
- style="stop-color:#000000;stop-opacity:1"
- offset="0" />
- <stop
- id="stop2998-2"
- style="stop-color:#c9c9c9;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient2974-7">
- <stop
- id="stop2976-6"
- style="stop-color:#c1c1c1;stop-opacity:1"
- offset="0" />
- <stop
- id="stop4984-3"
- style="stop-color:#f3f3f3;stop-opacity:1"
- offset="0.5" />
- <stop
- id="stop2978-3"
- style="stop-color:#cacaca;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient5004-5">
- <stop
- id="stop5006-7"
- style="stop-color:#de9649;stop-opacity:1"
- offset="0" />
- <stop
- id="stop5008-3"
- style="stop-color:#3d250b;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- x1="864.38245"
- y1="299.23441"
- x2="755.96057"
- y2="300.293"
- id="linearGradient4002"
- xlink:href="#linearGradient2994-0"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(108,0)" />
- <linearGradient
- x1="863.20966"
- y1="19.610329"
- x2="907.75806"
- y2="19.610329"
- id="linearGradient4004"
- xlink:href="#linearGradient2974-7"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.1254521,0,0,0.99881417,-42.628378,62.7602)" />
- <linearGradient
- x1="785.0871"
- y1="502.34323"
- x2="834.98578"
- y2="502.34323"
- id="linearGradient4006"
- xlink:href="#linearGradient5004"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0072156,0,0,0.99994372,138.04096,54.534191)" />
- <linearGradient
- x1="27.939529"
- y1="33.832268"
- x2="511.31018"
- y2="729.57697"
- id="linearGradient4177"
- xlink:href="#linearGradient5046"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0504018,0,0,0.99625498,111.44393,35.819819)" />
- </defs>
- <metadata
- id="metadata5112">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- transform="translate(-35.850169,-55.040829)"
- id="layer1">
- <g
- transform="translate(-2.166406,0)"
- id="g4173">
- <path
- d="m 136.33425,56.531841 0,717.018939 523.36465,0 0,-520.22013 C 594.7881,187.7079 529.8327,122.12662 464.89268,56.531841 z"
- id="rect5275"
- style="fill:url(#linearGradient4177);fill-opacity:1;fill-rule:nonzero;stroke:#89b27f;stroke-width:2.98900008;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
- <path
- d="m 466.12005,58.659686 0,194.548264 191.47242,0 z"
- id="path3041"
- style="fill:#ffffff;stroke:#89b27f;stroke-width:2.98900008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
- </g>
- <text
- x="215.61278"
- y="485.93359"
- id="text5843"
- xml:space="preserve"
- style="font-size:39.85167694px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008947;fill-opacity:1;stroke:none;font-family:Sans"><tspan
- x="215.61278"
- y="485.93359"
- id="tspan5845"
- style="font-size:189.29548645px;fill:#008947;fill-opacity:1">nqq</tspan></text>
- <g
- transform="matrix(0.93334857,0.34850867,-0.34850867,0.93334857,-165.29117,-214.04443)"
- id="g3996">
- <path
- d="m 929.40332,36.400459 24.3904,-3.427419 24.66456,3.427419 0,490.183991 -49.05496,0 z"
- id="rect3872"
- style="fill:url(#linearGradient4002);fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" />
- <rect
- width="49.011616"
- height="50.746204"
- x="929.43542"
- y="56.974174"
- id="rect3965"
- style="fill:url(#linearGradient4004);fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
- <path
- d="m 945.7655,587.0368 7.8629,28.32661 9.07258,-28.32661 z"
- id="path3993"
- style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- d="m 929.29647,526.77105 16.37579,60.67404 c 0,0 8.82435,2.65462 17.00901,0 l 15.86675,-60.74531 c 0,0 -24.48218,-3.70641 -49.25155,0.0713 z"
- id="path3983"
- style="fill:url(#linearGradient4006);fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
- </g>
- </g>
-</svg>
Files old/src/ui/icons/notepadqq/128x128/document-save.png and new/src/ui/icons/notepadqq/128x128/document-save.png differ
Files old/src/ui/icons/notepadqq/16x16/document-close-all.png and new/src/ui/icons/notepadqq/16x16/document-close-all.png differ
Files old/src/ui/icons/notepadqq/16x16/document-close.png and new/src/ui/icons/notepadqq/16x16/document-close.png differ
Files old/src/ui/icons/notepadqq/16x16/document-new.png and new/src/ui/icons/notepadqq/16x16/document-new.png differ
Files old/src/ui/icons/notepadqq/16x16/document-open.png and new/src/ui/icons/notepadqq/16x16/document-open.png differ
Files old/src/ui/icons/notepadqq/16x16/document-print.png and new/src/ui/icons/notepadqq/16x16/document-print.png differ
Files old/src/ui/icons/notepadqq/16x16/document-save-all.png and new/src/ui/icons/notepadqq/16x16/document-save-all.png differ
Files old/src/ui/icons/notepadqq/16x16/document-save-as.png and new/src/ui/icons/notepadqq/16x16/document-save-as.png differ
Files old/src/ui/icons/notepadqq/16x16/document-save.png and new/src/ui/icons/notepadqq/16x16/document-save.png differ
Files old/src/ui/icons/notepadqq/16x16/edit-copy.png and new/src/ui/icons/notepadqq/16x16/edit-copy.png differ
Files old/src/ui/icons/notepadqq/16x16/edit-cut.png and new/src/ui/icons/notepadqq/16x16/edit-cut.png differ
Files old/src/ui/icons/notepadqq/16x16/edit-find-replace.png and new/src/ui/icons/notepadqq/16x16/edit-find-replace.png differ
Files old/src/ui/icons/notepadqq/16x16/edit-find.png and new/src/ui/icons/notepadqq/16x16/edit-find.png differ
Files old/src/ui/icons/notepadqq/16x16/edit-paste.png and new/src/ui/icons/notepadqq/16x16/edit-paste.png differ
Files old/src/ui/icons/notepadqq/16x16/edit-redo.png and new/src/ui/icons/notepadqq/16x16/edit-redo.png differ
Files old/src/ui/icons/notepadqq/16x16/edit-undo.png and new/src/ui/icons/notepadqq/16x16/edit-undo.png differ
Files old/src/ui/icons/notepadqq/16x16/go-next.png and new/src/ui/icons/notepadqq/16x16/go-next.png differ
Files old/src/ui/icons/notepadqq/16x16/go-previous.png and new/src/ui/icons/notepadqq/16x16/go-previous.png differ
Files old/src/ui/icons/notepadqq/16x16/media-playback-start.png and new/src/ui/icons/notepadqq/16x16/media-playback-start.png differ
Files old/src/ui/icons/notepadqq/16x16/media-playback-stop.png and new/src/ui/icons/notepadqq/16x16/media-playback-stop.png differ
Files old/src/ui/icons/notepadqq/16x16/media-record.png and new/src/ui/icons/notepadqq/16x16/media-record.png differ
Files old/src/ui/icons/notepadqq/16x16/media-seek-forward.png and new/src/ui/icons/notepadqq/16x16/media-seek-forward.png differ
Files old/src/ui/icons/notepadqq/16x16/notepadqq-document-saved.png and new/src/ui/icons/notepadqq/16x16/notepadqq-document-saved.png differ
Files old/src/ui/icons/notepadqq/16x16/notepadqq-document-unsaved.png and new/src/ui/icons/notepadqq/16x16/notepadqq-document-unsaved.png differ
Files old/src/ui/icons/notepadqq/16x16/preferences-other.png and new/src/ui/icons/notepadqq/16x16/preferences-other.png differ
Files old/src/ui/icons/notepadqq/16x16/show-special-chars.png and new/src/ui/icons/notepadqq/16x16/show-special-chars.png differ
Files old/src/ui/icons/notepadqq/16x16/word-wrap.png and new/src/ui/icons/notepadqq/16x16/word-wrap.png differ
Files old/src/ui/icons/notepadqq/16x16/zoom-in.png and new/src/ui/icons/notepadqq/16x16/zoom-in.png differ
Files old/src/ui/icons/notepadqq/16x16/zoom-original.png and new/src/ui/icons/notepadqq/16x16/zoom-original.png differ
Files old/src/ui/icons/notepadqq/16x16/zoom-out.png and new/src/ui/icons/notepadqq/16x16/zoom-out.png differ
Files old/src/ui/icons/notepadqq/64x64/document-save.png and new/src/ui/icons/notepadqq/64x64/document-save.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/icons/notepadqq/index.theme new/src/ui/icons/notepadqq/index.theme
--- old/src/ui/icons/notepadqq/index.theme 1970-01-01 01:00:00.000000000 +0100
+++ new/src/ui/icons/notepadqq/index.theme 2015-09-18 17:16:08.000000000 +0200
@@ -0,0 +1,21 @@
+[Icon Theme]
+Name=notepadqq
+Comment=Default theme for notepadqq
+Inherits=default
+Directories=16x16,64x64,128x128,scalable
+
+[16x16]
+Size=16
+Type=Fixed
+
+[64x64]
+Size=64
+Type=Fixed
+
+[128x128]
+Size=128
+Type=Fixed
+
+[scalable]
+Size=16
+Type=Scalable
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/icons/notepadqq/scalable/notepadqq.svg new/src/ui/icons/notepadqq/scalable/notepadqq.svg
--- old/src/ui/icons/notepadqq/scalable/notepadqq.svg 1970-01-01 01:00:00.000000000 +0100
+++ new/src/ui/icons/notepadqq/scalable/notepadqq.svg 2015-09-18 17:16:08.000000000 +0200
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="720"
+ height="720"
+ id="svg5107">
+ <defs
+ id="defs5109">
+ <linearGradient
+ id="linearGradient2873">
+ <stop
+ id="stop2875"
+ style="stop-color:#939393;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2877"
+ style="stop-color:#424242;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5046">
+ <stop
+ id="stop5048"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5050"
+ style="stop-color:#b9dca6;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5004">
+ <stop
+ id="stop5006"
+ style="stop-color:#de9649;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5008"
+ style="stop-color:#3d250b;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ id="stop2976"
+ style="stop-color:#c1c1c1;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4984"
+ style="stop-color:#f3f3f3;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2978"
+ style="stop-color:#cacaca;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2994">
+ <stop
+ id="stop2996"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2998"
+ style="stop-color:#c9c9c9;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="301.65262"
+ y1="77.063858"
+ x2="302.71622"
+ y2="139.44009"
+ id="linearGradient3188"
+ xlink:href="#linearGradient2873"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.36375344,0,0,0.36375344,128.81743,433.09205)" />
+ <linearGradient
+ x1="27.939529"
+ y1="33.832268"
+ x2="511.31018"
+ y2="729.57697"
+ id="linearGradient3858"
+ xlink:href="#linearGradient5046"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0504018,0,0,0.99625498,111.44393,35.819819)" />
+ <linearGradient
+ id="linearGradient2994-0">
+ <stop
+ id="stop2996-3"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2998-2"
+ style="stop-color:#c9c9c9;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974-7">
+ <stop
+ id="stop2976-6"
+ style="stop-color:#c1c1c1;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop4984-3"
+ style="stop-color:#f3f3f3;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2978-3"
+ style="stop-color:#cacaca;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5004-5">
+ <stop
+ id="stop5006-7"
+ style="stop-color:#de9649;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5008-3"
+ style="stop-color:#3d250b;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="864.38245"
+ y1="299.23441"
+ x2="755.96057"
+ y2="300.293"
+ id="linearGradient4002"
+ xlink:href="#linearGradient2994-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(108,0)" />
+ <linearGradient
+ x1="863.20966"
+ y1="19.610329"
+ x2="907.75806"
+ y2="19.610329"
+ id="linearGradient4004"
+ xlink:href="#linearGradient2974-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1254521,0,0,0.99881417,-42.628378,62.7602)" />
+ <linearGradient
+ x1="785.0871"
+ y1="502.34323"
+ x2="834.98578"
+ y2="502.34323"
+ id="linearGradient4006"
+ xlink:href="#linearGradient5004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0072156,0,0,0.99994372,138.04096,54.534191)" />
+ <linearGradient
+ x1="27.939529"
+ y1="33.832268"
+ x2="511.31018"
+ y2="729.57697"
+ id="linearGradient4177"
+ xlink:href="#linearGradient5046"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0504018,0,0,0.99625498,111.44393,35.819819)" />
+ </defs>
+ <metadata
+ id="metadata5112">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-35.850169,-55.040829)"
+ id="layer1">
+ <g
+ transform="translate(-2.166406,0)"
+ id="g4173">
+ <path
+ d="m 136.33425,56.531841 0,717.018939 523.36465,0 0,-520.22013 C 594.7881,187.7079 529.8327,122.12662 464.89268,56.531841 z"
+ id="rect5275"
+ style="fill:url(#linearGradient4177);fill-opacity:1;fill-rule:nonzero;stroke:#89b27f;stroke-width:2.98900008;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 466.12005,58.659686 0,194.548264 191.47242,0 z"
+ id="path3041"
+ style="fill:#ffffff;stroke:#89b27f;stroke-width:2.98900008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <text
+ x="215.61278"
+ y="485.93359"
+ id="text5843"
+ xml:space="preserve"
+ style="font-size:39.85167694px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008947;fill-opacity:1;stroke:none;font-family:Sans"><tspan
+ x="215.61278"
+ y="485.93359"
+ id="tspan5845"
+ style="font-size:189.29548645px;fill:#008947;fill-opacity:1">nqq</tspan></text>
+ <g
+ transform="matrix(0.93334857,0.34850867,-0.34850867,0.93334857,-165.29117,-214.04443)"
+ id="g3996">
+ <path
+ d="m 929.40332,36.400459 24.3904,-3.427419 24.66456,3.427419 0,490.183991 -49.05496,0 z"
+ id="rect3872"
+ style="fill:url(#linearGradient4002);fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" />
+ <rect
+ width="49.011616"
+ height="50.746204"
+ x="929.43542"
+ y="56.974174"
+ id="rect3965"
+ style="fill:url(#linearGradient4004);fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 945.7655,587.0368 7.8629,28.32661 9.07258,-28.32661 z"
+ id="path3993"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ d="m 929.29647,526.77105 16.37579,60.67404 c 0,0 8.82435,2.65462 17.00901,0 l 15.86675,-60.74531 c 0,0 -24.48218,-3.70641 -49.25155,0.0713 z"
+ id="path3983"
+ style="fill:url(#linearGradient4006);fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/include/mainwindow.h new/src/ui/include/mainwindow.h
--- old/src/ui/include/mainwindow.h 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/include/mainwindow.h 2015-09-18 17:16:08.000000000 +0200
@@ -173,6 +173,7 @@
void on_editorUrlsDropped(QList<QUrl> urls);
void on_actionGo_to_line_triggered();
void on_actionInstall_Extension_triggered();
+ void on_actionFull_Screen_toggled(bool on);
private:
static QList<MainWindow*> m_instances;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/include/notepadqq.h new/src/ui/include/notepadqq.h
--- old/src/ui/include/notepadqq.h 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/include/notepadqq.h 2015-09-18 17:16:08.000000000 +0200
@@ -33,7 +33,7 @@
#include <QList>
#include "include/mainwindow.h"
-#define POINTVERSION "0.50.2" // major.minor.revision
+#define POINTVERSION "0.50.4" // major.minor.revision
#define MIB_UTF_8 106
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/mainwindow.cpp new/src/ui/mainwindow.cpp
--- old/src/ui/mainwindow.cpp 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/mainwindow.cpp 2015-09-18 17:16:08.000000000 +0200
@@ -136,6 +136,8 @@
restoreWindowSettings();
+ ui->actionFull_Screen->setChecked(isFullScreen());
+
ui->dockFileSearchResults->hide();
// If there was another window already opened, move this window
@@ -2023,3 +2025,19 @@
{
ui->menuExtensions->menuAction()->setVisible(show);
}
+
+void MainWindow::on_actionFull_Screen_toggled(bool on)
+{
+ static bool maximized = isMaximized();
+
+ if (on) {
+ maximized = isMaximized();
+ showFullScreen();
+ } else {
+ if (maximized) {
+ showMaximized();
+ } else {
+ showNormal();
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/mainwindow.ui new/src/ui/mainwindow.ui
--- old/src/ui/mainwindow.ui 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/mainwindow.ui 2015-09-18 17:16:08.000000000 +0200
@@ -15,7 +15,7 @@
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
- <normaloff>:/icons/default/scalable/notepadqq.svg</normaloff>:/icons/default/scalable/notepadqq.svg</iconset>
+ <normaloff>:/icons/notepadqq/scalable/notepadqq.svg</normaloff>:/icons/notepadqq/scalable/notepadqq.svg</iconset>
</property>
<property name="documentMode">
<bool>true</bool>
@@ -198,6 +198,8 @@
<addaction name="actionWord_wrap"/>
<addaction name="separator"/>
<addaction name="actionText_Direction_RTL"/>
+ <addaction name="separator"/>
+ <addaction name="actionFull_Screen"/>
</widget>
<widget class="QMenu" name="menuEncoding">
<property name="title">
@@ -1019,6 +1021,17 @@
<string>Install Extension...</string>
</property>
</action>
+ <action name="actionFull_Screen">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Full Screen</string>
+ </property>
+ <property name="shortcut">
+ <string>F11</string>
+ </property>
+ </action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/ui/resources.qrc new/src/ui/resources.qrc
--- old/src/ui/resources.qrc 2015-08-27 11:00:00.000000000 +0200
+++ new/src/ui/resources.qrc 2015-09-18 17:16:08.000000000 +0200
@@ -1,38 +1,38 @@
<RCC>
- <qresource prefix="icons/default">
- <file alias="index.theme">icons/default/index.theme</file>
+ <qresource prefix="icons/notepadqq">
+ <file alias="index.theme">icons/notepadqq/index.theme</file>
- <file alias="16x16/document-close.png">icons/default/16x16/document-close.png</file>
- <file alias="16x16/document-close-all.png">icons/default/16x16/document-close-all.png</file>
- <file alias="16x16/document-new.png">icons/default/16x16/document-new.png</file>
- <file alias="16x16/document-open.png">icons/default/16x16/document-open.png</file>
- <file alias="16x16/document-print.png">icons/default/16x16/document-print.png</file>
+ <file alias="16x16/document-close.png">icons/notepadqq/16x16/document-close.png</file>
+ <file alias="16x16/document-close-all.png">icons/notepadqq/16x16/document-close-all.png</file>
+ <file alias="16x16/document-new.png">icons/notepadqq/16x16/document-new.png</file>
+ <file alias="16x16/document-open.png">icons/notepadqq/16x16/document-open.png</file>
+ <file alias="16x16/document-print.png">icons/notepadqq/16x16/document-print.png</file>
- <file alias="16x16/document-save.png">icons/default/16x16/document-save.png</file>
- <file alias="64x64/document-save.png">icons/default/64x64/document-save.png</file>
- <file alias="128x128/document-save.png">icons/default/128x128/document-save.png</file>
+ <file alias="16x16/document-save.png">icons/notepadqq/16x16/document-save.png</file>
+ <file alias="64x64/document-save.png">icons/notepadqq/64x64/document-save.png</file>
+ <file alias="128x128/document-save.png">icons/notepadqq/128x128/document-save.png</file>
- <file alias="16x16/document-save-all.png">icons/default/16x16/document-save-all.png</file>
- <file alias="16x16/document-save-as.png">icons/default/16x16/document-save-as.png</file>
- <file alias="16x16/edit-copy.png">icons/default/16x16/edit-copy.png</file>
- <file alias="16x16/edit-cut.png">icons/default/16x16/edit-cut.png</file>
- <file alias="16x16/edit-find.png">icons/default/16x16/edit-find.png</file>
- <file alias="16x16/edit-find-replace.png">icons/default/16x16/edit-find-replace.png</file>
- <file alias="16x16/edit-paste.png">icons/default/16x16/edit-paste.png</file>
- <file alias="16x16/edit-redo.png">icons/default/16x16/edit-redo.png</file>
- <file alias="16x16/edit-undo.png">icons/default/16x16/edit-undo.png</file>
- <file alias="16x16/media-playback-start.png">icons/default/16x16/media-playback-start.png</file>
- <file alias="16x16/media-playback-stop.png">icons/default/16x16/media-playback-stop.png</file>
- <file alias="16x16/media-record.png">icons/default/16x16/media-record.png</file>
- <file alias="16x16/media-seek-forward.png">icons/default/16x16/media-seek-forward.png</file>
- <file alias="scalable/notepadqq.svg">icons/default/scalable/notepadqq.svg</file>
- <file alias="16x16/notepadqq-document-saved.png">icons/default/16x16/notepadqq-document-saved.png</file>
- <file alias="16x16/notepadqq-document-unsaved.png">icons/default/16x16/notepadqq-document-unsaved.png</file>
- <file alias="16x16/preferences-other.png">icons/default/16x16/preferences-other.png</file>
- <file alias="16x16/show-special-chars.png">icons/default/16x16/show-special-chars.png</file>
- <file alias="16x16/word-wrap.png">icons/default/16x16/word-wrap.png</file>
- <file alias="16x16/zoom-in.png">icons/default/16x16/zoom-in.png</file>
- <file alias="16x16/zoom-original.png">icons/default/16x16/zoom-original.png</file>
- <file alias="16x16/zoom-out.png">icons/default/16x16/zoom-out.png</file>
+ <file alias="16x16/document-save-all.png">icons/notepadqq/16x16/document-save-all.png</file>
+ <file alias="16x16/document-save-as.png">icons/notepadqq/16x16/document-save-as.png</file>
+ <file alias="16x16/edit-copy.png">icons/notepadqq/16x16/edit-copy.png</file>
+ <file alias="16x16/edit-cut.png">icons/notepadqq/16x16/edit-cut.png</file>
+ <file alias="16x16/edit-find.png">icons/notepadqq/16x16/edit-find.png</file>
+ <file alias="16x16/edit-find-replace.png">icons/notepadqq/16x16/edit-find-replace.png</file>
+ <file alias="16x16/edit-paste.png">icons/notepadqq/16x16/edit-paste.png</file>
+ <file alias="16x16/edit-redo.png">icons/notepadqq/16x16/edit-redo.png</file>
+ <file alias="16x16/edit-undo.png">icons/notepadqq/16x16/edit-undo.png</file>
+ <file alias="16x16/media-playback-start.png">icons/notepadqq/16x16/media-playback-start.png</file>
+ <file alias="16x16/media-playback-stop.png">icons/notepadqq/16x16/media-playback-stop.png</file>
+ <file alias="16x16/media-record.png">icons/notepadqq/16x16/media-record.png</file>
+ <file alias="16x16/media-seek-forward.png">icons/notepadqq/16x16/media-seek-forward.png</file>
+ <file alias="scalable/notepadqq.svg">icons/notepadqq/scalable/notepadqq.svg</file>
+ <file alias="16x16/notepadqq-document-saved.png">icons/notepadqq/16x16/notepadqq-document-saved.png</file>
+ <file alias="16x16/notepadqq-document-unsaved.png">icons/notepadqq/16x16/notepadqq-document-unsaved.png</file>
+ <file alias="16x16/preferences-other.png">icons/notepadqq/16x16/preferences-other.png</file>
+ <file alias="16x16/show-special-chars.png">icons/notepadqq/16x16/show-special-chars.png</file>
+ <file alias="16x16/word-wrap.png">icons/notepadqq/16x16/word-wrap.png</file>
+ <file alias="16x16/zoom-in.png">icons/notepadqq/16x16/zoom-in.png</file>
+ <file alias="16x16/zoom-original.png">icons/notepadqq/16x16/zoom-original.png</file>
+ <file alias="16x16/zoom-out.png">icons/notepadqq/16x16/zoom-out.png</file>
</qresource>
</RCC>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/support_files/manpage/notepadqq.1 new/support_files/manpage/notepadqq.1
--- old/support_files/manpage/notepadqq.1 2015-08-27 11:00:00.000000000 +0200
+++ new/support_files/manpage/notepadqq.1 2015-09-18 17:16:08.000000000 +0200
@@ -1,4 +1,4 @@
-.TH NOTEPADQQ "1" "August 2015" "0.50.2" "User Commands"
+.TH NOTEPADQQ "1" "September 2015" "0.50.4" "User Commands"
.SH NAME
Notepadqq \- Notepad++-like editor for Linux
1
0
Hello community,
here is the log from the commit of package gajim for openSUSE:Factory checked in at 2015-09-30 05:52:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gajim (Old)
and /work/SRC/openSUSE:Factory/.gajim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gajim"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gajim/gajim.changes 2015-08-12 15:14:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gajim.new/gajim.changes 2015-09-30 05:52:44.000000000 +0200
@@ -1,0 +2,8 @@
+Sun Sep 27 15:37:48 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 0.16.4:
+ * Fix trusting GPG keys.
+ * Ability to disable synchronisation of logs with server.
+ * Improve MAM usage.
+
+-------------------------------------------------------------------
Old:
----
gajim-0.16.3.tar.gz
New:
----
gajim-0.16.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gajim.spec ++++++
--- /var/tmp/diff_new_pack.erDcrR/_old 2015-09-30 05:52:45.000000000 +0200
+++ /var/tmp/diff_new_pack.erDcrR/_new 2015-09-30 05:52:45.000000000 +0200
@@ -18,7 +18,7 @@
%define _version 0.16
Name: gajim
-Version: 0.16.3
+Version: 0.16.4
Release: 0
Summary: Full-featured XMPP client written in Python and Gtk2
License: GPL-3.0+
++++++ gajim-0.16.3.tar.gz -> gajim-0.16.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/ChangeLog new/gajim-0.16.4/ChangeLog
--- old/gajim-0.16.3/ChangeLog 2015-07-31 14:27:49.000000000 +0200
+++ new/gajim-0.16.4/ChangeLog 2015-09-26 15:58:50.000000000 +0200
@@ -1,3 +1,9 @@
+Gajim 0.16.4 (26 September 2015)
+
+ * Fix trusting GPG keys
+ * Ability to disable synchronization of logs with server
+ * Improve MAM usage
+
Gajim 0.16.3 (31 July 2015)
* Fix reading secret file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/autogen.sh new/gajim-0.16.4/autogen.sh
--- old/gajim-0.16.3/autogen.sh 2015-07-31 14:27:49.000000000 +0200
+++ new/gajim-0.16.4/autogen.sh 2015-09-26 15:58:50.000000000 +0200
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
- gajimversion="0.16.3"
+ gajimversion="0.16.4"
if [ -d ".hg" ]; then
node=$(hg tip --template "{node}")
hgversion="-${node:0:12}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/configure new/gajim-0.16.4/configure
--- old/gajim-0.16.3/configure 2015-07-31 14:27:54.000000000 +0200
+++ new/gajim-0.16.4/configure 2015-09-26 15:58:56.000000000 +0200
@@ -590,7 +590,7 @@
# Identity of this package.
PACKAGE_NAME='Gajim - A Jabber Instant Messager'
PACKAGE_TARNAME='gajim'
-PACKAGE_VERSION='0.16.3'
+PACKAGE_VERSION='0.16.4'
PACKAGE_STRING='Gajim - A Jabber Instant Messager "version-set-in-hgversion"'
PACKAGE_BUGREPORT='http://trac.gajim.org/'
PACKAGE_URL=''
@@ -1585,7 +1585,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Gajim - A Jabber Instant Messager configure 0.16.3
+Gajim - A Jabber Instant Messager configure 0.16.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1954,7 +1954,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Gajim - A Jabber Instant Messager $as_me 0.16.3, which was
+It was created by Gajim - A Jabber Instant Messager $as_me 0.16.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2823,7 +2823,7 @@
# Define the identity of the package.
PACKAGE='gajim'
- VERSION='0.16.3'
+ VERSION='0.16.4'
cat >>confdefs.h <<_ACEOF
@@ -15104,7 +15104,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Gajim - A Jabber Instant Messager $as_me 0.16.3, which was
+This file was extended by Gajim - A Jabber Instant Messager $as_me 0.16.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15170,7 +15170,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Gajim - A Jabber Instant Messager config.status 0.16.3
+Gajim - A Jabber Instant Messager config.status 0.16.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/data/gajim-history-manager.1 new/gajim-0.16.4/data/gajim-history-manager.1
--- old/gajim-0.16.3/data/gajim-history-manager.1 2015-07-31 14:27:49.000000000 +0200
+++ new/gajim-0.16.4/data/gajim-history-manager.1 2015-09-26 15:58:50.000000000 +0200
@@ -1,4 +1,4 @@
-.Dd August 11, 2013
+.Dd August 26, 2015
.Dt GAJIM-HISTORY-MANAGER 1 URM
.Os UNIX
.Sh NAME
@@ -27,7 +27,7 @@
.El
.Sh FILES
.Bl -tag -width Ds
-.It ~/.local/share/gajim/logs.db
+.It $XDG_DATA_DIR/gajim/logs.db
The history database log file used when
.Op Fl c
is not specified.
@@ -46,7 +46,7 @@
.Pa THANKS ,
for a complete list.
.Sh COPYRIGHT
-Copyright (C) 2003-2013 Gajim Team
+Copyright (C) 2003-2015 Gajim Team
.Pp
.Nm
is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only.
@@ -56,7 +56,7 @@
.Pp
You should have received a copy of the GNU General Public License along with
.Nm .
-If not, see <http://www.gnu.org/licenses/>.
+If not, see <https://www.gnu.org/licenses/>.
.Sh FEEDBACK
You can report bugs or feature requests in our bug tracker at
.Em trac.gajim.org
@@ -65,19 +65,19 @@
mailing list; if you want to send us a patch, please do so in our bug tracker.
You can also find us in our chat room.
.Sh WWW
-http://www.gajim.org/
+https://www.gajim.org/
.Sh XMPP
You are welcome to join us at gajim(a)conference.gajim.org
.Sh MAILING LIST
Below are public mailing lists on lists.gajim.org
.Bd -literal -offset indent
-http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
-http://lists.gajim.org/cgi-bin/listinfo/translators
+https://lists.gajim.org/cgi-bin/listinfo/gajim-devel
+https://lists.gajim.org/cgi-bin/listinfo/translators
.Ed
.Pp
More mailing lists at
.Bd -literal -offset indent
-http://lists.gajim.org/cgi-bin/listinfo
+https://lists.gajim.org/cgi-bin/listinfo
.Ed
.Sh BUGS
Please submit bugs at https://trac.gajim.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/data/gajim-remote.1 new/gajim-0.16.4/data/gajim-remote.1
--- old/gajim-0.16.3/data/gajim-remote.1 2015-07-31 14:27:49.000000000 +0200
+++ new/gajim-0.16.4/data/gajim-remote.1 2015-09-26 15:58:50.000000000 +0200
@@ -1,4 +1,4 @@
-.Dd August 11, 2013
+.Dd August 26, 2015
.Dt GAJIM-REMOTE 1 URM
.Os UNIX
.Sh NAME
@@ -99,7 +99,7 @@
.Pa THANKS ,
for a complete list.
.Sh COPYRIGHT
-Copyright (C) 2003-2013 Gajim Team
+Copyright (C) 2003-2015 Gajim Team
.Pp
.Nm
is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only.
@@ -109,7 +109,7 @@
.Pp
You should have received a copy of the GNU General Public License along with
.Nm .
-If not, see <http://www.gnu.org/licenses/>.
+If not, see <https://www.gnu.org/licenses/>.
.Sh FEEDBACK
You can report bugs or feature requests in our bug tracker at
.Em trac.gajim.org
@@ -118,19 +118,19 @@
mailing list; if you want to send us a patch, please do so in our bug tracker.
You can also find us in our chat room.
.Sh WWW
-http://www.gajim.org/
+https://www.gajim.org/
.Sh XMPP
You are welcome to join us at gajim(a)conference.gajim.org
.Sh MAILING LIST
Below are public mailing lists on lists.gajim.org
.Bd -literal -offset indent
-http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
-http://lists.gajim.org/cgi-bin/listinfo/translators
+https://lists.gajim.org/cgi-bin/listinfo/gajim-devel
+https://lists.gajim.org/cgi-bin/listinfo/translators
.Ed
.Pp
More mailing lists at
.Bd -literal -offset indent
-http://lists.gajim.org/cgi-bin/listinfo
+https://lists.gajim.org/cgi-bin/listinfo
.Ed
.Sh BUGS
Please submit bugs at https://trac.gajim.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/data/gajim.1 new/gajim-0.16.4/data/gajim.1
--- old/gajim-0.16.3/data/gajim.1 2015-07-31 14:27:49.000000000 +0200
+++ new/gajim-0.16.4/data/gajim.1 2015-09-26 15:58:50.000000000 +0200
@@ -1,4 +1,4 @@
-.Dd August 11, 2013
+.Dd August 26, 2015
.Dt GAJIM 1 URM
.Os UNIX
.Sh NAME
@@ -26,7 +26,7 @@
technologies for instant messaging, presence, multi-party chat, voice
and video calls, collaboration, lightweight middleware, content
syndication, and generalized routing of XML data. For more information
-on the XMPP protocol see <http://xmpp.org/about-xmpp/>.
+on the XMPP protocol see <https://xmpp.org/about-xmpp/>.
.Sh OPTIONS
.Bl -tag -width Ds
.It Fl h Fl Fl help
@@ -60,19 +60,19 @@
.El
.Sh FILES
.Bl -tag -width Ds
-.It ~/.cache/gajim/cache.db
+.It $XDG_CACHE_DIR/gajim/cache.db
Cache database file of transports, caps, roster entry, and roster group.
-.It ~/.cache/gajim/avatars/
+.It $XDG_CACHE_DIR/gajim/avatars/
Cache directory of avatars.
-.It ~/.cache/gajim/vcards/
+.It $XDG_CACHE_DIR/gajim/vcards/
Cache directory of vCards (virtual cards).
-.It ~/.config/gajim/
+.It $XDG_CONFIG_DIR/gajim/
The config-path used when
.Op Fl c
is not specified.
-.It ~/.local/share/gajim/certs/
+.It $XDG_DATA_DIR/gajim/certs/
Directory where certificates are stored.
-.It ~/.local/share/gajim/logs.db
+.It $XDG_DATA_DIR/gajim/logs.db
The history database log file.
For more information on database logs see <https://trac.gajim.org/wiki/LogsDatabase>.
.El
@@ -90,7 +90,7 @@
.Pa THANKS ,
for a complete list.
.Sh COPYRIGHT
-Copyright (C) 2003-2013 Gajim Team
+Copyright (C) 2003-2015 Gajim Team
.Pp
.Nm
is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only.
@@ -100,7 +100,7 @@
.Pp
You should have received a copy of the GNU General Public License along with
.Nm .
-If not, see <http://www.gnu.org/licenses/>.
+If not, see <https://www.gnu.org/licenses/>.
.Sh FEEDBACK
You can report bugs or feature requests in our bug tracker at
.Em trac.gajim.org
@@ -109,26 +109,26 @@
mailing list; if you want to send us a patch, please do so in our bug tracker.
You can also find us in our chat room.
.Sh WWW
-http://www.gajim.org/
+https://www.gajim.org/
.Sh XMPP
You are welcome to join us at gajim(a)conference.gajim.org
.Sh MAILING LIST
Below are public mailing lists on lists.gajim.org
.Bd -literal -offset indent
-http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
-http://lists.gajim.org/cgi-bin/listinfo/translators
+https://lists.gajim.org/cgi-bin/listinfo/gajim-devel
+https://lists.gajim.org/cgi-bin/listinfo/translators
.Ed
.Pp
More mailing lists at
.Bd -literal -offset indent
-http://lists.gajim.org/cgi-bin/listinfo
+https://lists.gajim.org/cgi-bin/listinfo
.Ed
.Sh BUGS
Please submit bugs at
.Bd -literal -offset indent
https://trac.gajim.org/
-http://trac-plugins.gajim.org/
-http://python-nbxmpp.gajim.org/
+https://trac-plugins.gajim.org/
+https://python-nbxmpp.gajim.org/
.Ed
.Sh SEE ALSO
.Xr gajim-remote 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/data/gui/accounts_window.ui new/gajim-0.16.4/data/gui/accounts_window.ui
--- old/gajim-0.16.3/data/gui/accounts_window.ui 2015-07-31 14:27:49.000000000 +0200
+++ new/gajim-0.16.4/data/gui/accounts_window.ui 2015-09-26 15:58:50.000000000 +0200
@@ -556,6 +556,23 @@
</packing>
</child>
<child>
+ <object class="GtkCheckButton" id="sync_logs_with_server_checkbutton1">
+ <property name="label" translatable="yes">Synchronize logs with server</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_sync_logs_with_server_checkbutton_toggled"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkCheckButton" id="sync_with_global_status_checkbutton1">
<property name="label" translatable="yes">Synch_ronize account status with global status</property>
<property name="visible">True</property>
@@ -569,7 +586,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
<child>
@@ -585,7 +602,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">4</property>
+ <property name="position">5</property>
</packing>
</child>
<child>
@@ -602,7 +619,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">5</property>
+ <property name="position">6</property>
</packing>
</child>
</object>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/gajim.nsi new/gajim-0.16.4/gajim.nsi
--- old/gajim-0.16.3/gajim.nsi 2015-07-31 14:27:49.000000000 +0200
+++ new/gajim-0.16.4/gajim.nsi 2015-09-26 15:58:51.000000000 +0200
@@ -156,6 +156,7 @@
SetOutPath "$INSTDIR\bin"
File "bin\_bsddb.pyd"
+ File "bin\_cffi_backend.pyd"
File "bin\_ctypes.pyd"
File "bin\_hashlib.pyd"
File "bin\_socket.pyd"
@@ -171,6 +172,9 @@
File "bin\Crypto.Random.OSRNG.winrandom.pyd"
File "bin\Crypto.Util._counter.pyd"
File "bin\Crypto.Util.strxor.pyd"
+ File "bin\cryptography.hazmat.bindings._constant_time.pyd"
+ File "bin\cryptography.hazmat.bindings._openssl.pyd"
+ File "bin\cryptography.hazmat.bindings._padding.pyd"
File "bin\farstream.pyd"
File "bin\gajim.exe"
File "bin\gio._gio.pyd"
@@ -181,7 +185,6 @@
File "bin\gst.interfaces.pyd"
File "bin\gtk._gtk.pyd"
File "bin\history_manager.exe"
- File "bin\OpenSSL.crypto.pyd"
File "bin\libeay32.dll"
File "bin\libgoocanvas-3.dll"
File "bin\library.zip"
@@ -194,11 +197,9 @@
File "bin\python27.dll"
File "bin\pythoncom27.dll"
File "bin\pywintypes27.dll"
- File "bin\OpenSSL.rand.pyd"
File "bin\select.pyd"
File "bin\sqlite3.dll"
File "bin\ssleay32.dll"
- File "bin\OpenSSL.SSL.pyd"
File "bin\unicodedata.pyd"
File "bin\win32api.pyd"
File "bin\win32file.pyd"
@@ -212,7 +213,7 @@
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayName" "Gajim"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString" "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayIcon" "$INSTDIR\bin\Gajim.exe"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "0.16.3"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "0.16.4"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "URLInfoAbout" "http://www.gajim.org/"
WriteUninstaller "$INSTDIR\Uninstall.exe"
@@ -542,56 +543,6 @@
RMDir /r "$INSTDIR\bin\gtk\share"
RMDir "$INSTDIR\bin\gtk"
RMDir "$INSTDIR\bin\win32com"
- Delete "$INSTDIR\bin\_bsddb.pyd"
- Delete "$INSTDIR\bin\_ctypes.pyd"
- Delete "$INSTDIR\bin\_hashlib.pyd"
- Delete "$INSTDIR\bin\_socket.pyd"
- Delete "$INSTDIR\bin\_sqlite3.pyd"
- Delete "$INSTDIR\bin\_ssl.pyd"
- Delete "$INSTDIR\bin\atk.pyd"
- Delete "$INSTDIR\bin\bz2.pyd"
- Delete "$INSTDIR\bin\cairo._cairo.pyd"
- Delete "$INSTDIR\bin\Crypto.Cipher._AES.pyd"
- Delete "$INSTDIR\bin\Crypto.Cipher._DES.pyd"
- Delete "$INSTDIR\bin\Crypto.Cipher._DES3.pyd"
- Delete "$INSTDIR\bin\Crypto.Hash._SHA256.pyd"
- Delete "$INSTDIR\bin\Crypto.Random.OSRNG.winrandom.pyd"
- Delete "$INSTDIR\bin\Crypto.Util._counter.pyd"
- Delete "$INSTDIR\bin\farstream.pyd"
- Delete "$INSTDIR\bin\gajim.exe"
- Delete "$INSTDIR\bin\gio._gio.pyd"
- Delete "$INSTDIR\bin\glib._glib.pyd"
- Delete "$INSTDIR\bin\gobject._gobject.pyd"
- Delete "$INSTDIR\bin\goocanvas.pyd"
- Delete "$INSTDIR\bin\gst._gst.pyd"
- Delete "$INSTDIR\bin\gst.interfaces.pyd"
- Delete "$INSTDIR\bin\gtk._gtk.pyd"
- Delete "$INSTDIR\bin\history_manager.exe"
- Delete "$INSTDIR\bin\libeay32.dll"
- Delete "$INSTDIR\bin\libgoocanvas-3.dll"
- Delete "$INSTDIR\bin\library.zip"
- Delete "$INSTDIR\bin\libxml2mod.pyd"
- Delete "$INSTDIR\bin\libxmlmods.libxml2mod.pyd"
- Delete "$INSTDIR\bin\OpenSSL.crypto.pyd"
- Delete "$INSTDIR\bin\OpenSSL.rand.pyd"
- Delete "$INSTDIR\bin\OpenSSL.SSL.pyd"
- Delete "$INSTDIR\bin\pango.pyd"
- Delete "$INSTDIR\bin\pangocairo.pyd"
- Delete "$INSTDIR\bin\pycurl.pyd"
- Delete "$INSTDIR\bin\pyexpat.pyd"
- Delete "$INSTDIR\bin\python27.dll"
- Delete "$INSTDIR\bin\pythoncom27.dll"
- Delete "$INSTDIR\bin\pywintypes27.dll"
- Delete "$INSTDIR\bin\select.pyd"
- Delete "$INSTDIR\bin\sqlite3.dll"
- Delete "$INSTDIR\bin\ssleay32.dll"
- Delete "$INSTDIR\bin\unicodedata.pyd"
- Delete "$INSTDIR\bin\win32api.pyd"
- Delete "$INSTDIR\bin\win32file.pyd"
- Delete "$INSTDIR\bin\win32pipe.pyd"
- Delete "$INSTDIR\bin\win32ui.pyd"
- Delete "$INSTDIR\bin\winsound.pyd"
- Delete "$INSTDIR\bin\msvcr90.dll"
RMDir /r "$INSTDIR\bin"
RMDir /r "$INSTDIR\data\gui"
RMDir /r "$INSTDIR\data\moods"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/m4/hgversion.m4 new/gajim-0.16.4/m4/hgversion.m4
--- old/gajim-0.16.3/m4/hgversion.m4 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/m4/hgversion.m4 2015-09-26 15:58:52.000000000 +0200
@@ -1 +1 @@
-define([AC_PACKAGE_VERSION], [0.16.3])
+define([AC_PACKAGE_VERSION], [0.16.4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/setup_win32.py new/gajim-0.16.4/setup_win32.py
--- old/gajim-0.16.3/setup_win32.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/setup_win32.py 2015-09-26 15:58:52.000000000 +0200
@@ -35,6 +35,7 @@
'goocanvas', 'Crypto.PublicKey.DSA', 'Crypto.Hash.HMAC',
'numbers', 'win32com.client', 'win32com.server', 'HTMLParser'],
'base': 'Win32GUI',
+ 'packages': ['cffi', 'cryptography'],
'bin_excludes': [
'iconv.dll', 'intl.dll', 'libatk-1.0-0.dll',
'libgdk_pixbuf-2.0-0.dll', 'libgdk-win32-2.0-0.dll',
@@ -56,7 +57,7 @@
setup(
name='Gajim',
- version='0.16.3',
+ version='0.16.4',
description='A full featured Jabber client',
author='Gajim Development Team',
url='http://gajim.org/',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/check_paths.py new/gajim-0.16.4/src/common/check_paths.py
--- old/gajim-0.16.3/src/common/check_paths.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/check_paths.py 2015-09-26 15:58:52.000000000 +0200
@@ -330,6 +330,8 @@
check_and_possibly_move_config()
if not os.path.exists(LOG_DB_PATH):
+ if os.path.exists(CACHE_DB_PATH):
+ os.remove(CACHE_DB_PATH)
create_log_db()
gajim.logger.init_vars()
elif os.path.isdir(LOG_DB_PATH):
@@ -344,7 +346,7 @@
print _('%s is a directory but should be a file') % CACHE_DB_PATH
print _('Gajim will now exit')
sys.exit()
-
+
if not os.path.exists(XTLS_CERTS):
create_path(XTLS_CERTS)
if not os.path.exists(LOCAL_XTLS_CERTS):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/config.py new/gajim-0.16.4/src/common/config.py
--- old/gajim-0.16.3/src/common/config.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/config.py 2015-09-26 15:58:52.000000000 +0200
@@ -362,6 +362,7 @@
'custom_host': [ opt_str, '', '', True ],
'sync_with_global_status': [ opt_bool, False, ],
'no_log_for': [ opt_str, '', _('Space separated list of JIDs for which you do not want to store logs. You can also add account name to log nothing for this account.')],
+ 'sync_logs_with_server': [ opt_bool, True, _('Download logs stored on server on Gajim startup if server supports XEP-0136 or XEP-0313')],
'allow_no_log_for': [ opt_str, '', _('Space separated list of JIDs for which you accept to not log conversations if he does not want to.')],
'minimized_gc': [ opt_str, '' ],
'attached_gpg_keys': [ opt_str, '' ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/connection.py new/gajim-0.16.4/src/common/connection.py
--- old/gajim-0.16.3/src/common/connection.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/connection.py 2015-09-26 15:58:52.000000000 +0200
@@ -425,7 +425,7 @@
if msgenc:
msg_iq.setTag(nbxmpp.NS_ENCRYPTED + ' x').setData(msgenc)
- msg_iq.addChild(name='no-permanent-storage',
+ msg_iq.addChild(name='no-permanent-store',
namespace=nbxmpp.NS_MSG_HINTS)
if form_node:
@@ -505,7 +505,7 @@
if self.carbons_enabled:
msg_iq.addChild(name='private',
namespace=nbxmpp.NS_CARBONS)
- msg_iq.addChild(name='no-permanent-storage',
+ msg_iq.addChild(name='no-permanent-store',
namespace=nbxmpp.NS_MSG_HINTS)
msg_iq.addChild(name='no-copy',
namespace=nbxmpp.NS_MSG_HINTS)
@@ -817,6 +817,8 @@
self._nec_message_outgoing)
gajim.ged.register_event_handler('gc-message-outgoing', ged.OUT_CORE,
self._nec_gc_message_outgoing)
+ gajim.ged.register_event_handler('stanza-message-outgoing',
+ ged.OUT_CORE, self._nec_stanza_message_outgoing)
# END __init__
def cleanup(self):
@@ -831,6 +833,8 @@
self._nec_message_outgoing)
gajim.ged.remove_event_handler('gc-message-outgoing', ged.OUT_CORE,
self._nec_gc_message_outgoing)
+ gajim.ged.remove_event_handler('stanza-message-outgoing', ged.OUT_CORE,
+ self._nec_stanza_message_outgoing)
def get_config_values_or_default(self):
if gajim.config.get_per('accounts', self.name, 'keep_alives_enabled'):
@@ -2111,9 +2115,11 @@
subject, type_, msg_iq, xhtml):
if isinstance(msg_iq, list):
for iq in msg_iq:
- msg_id = self.connection.send(iq, now=obj.now)
+ gajim.nec.push_incoming_event(StanzaMessageOutgoingEvent(
+ None, conn=self, msg_iq=iq, now=obj.now))
else:
- msg_id = self.connection.send(msg_iq, now=obj.now)
+ gajim.nec.push_incoming_event(StanzaMessageOutgoingEvent(None,
+ conn=self, msg_iq=msg_iq, now=obj.now))
gajim.nec.push_incoming_event(MessageSentEvent(None, conn=self,
jid=jid, message=msg, keyID=keyID, chatstate=obj.chatstate))
if obj.callback:
@@ -2139,6 +2145,11 @@
delayed=obj.delayed, attention=obj.attention,
correction_msg=obj.correction_msg, callback=cb)
+ def _nec_stanza_message_outgoing(self, obj):
+ if obj.conn.name != self.name:
+ return
+ obj.msg_id = self.connection.send(obj.msg_iq, now=obj.now)
+
def send_contacts(self, contacts, fjid, type_='message'):
"""
Send contacts with RosterX (Xep-0144)
@@ -2838,6 +2849,12 @@
self.connection.send(iq)
def get_password(self, callback, type_):
+ if gajim.config.get_per('accounts', self.name, 'anonymous_auth') and \
+ type_ != 'ANONYMOUS':
+ gajim.nec.push_incoming_event(NonAnonymousServerErrorEvent(None,
+ conn=self))
+ self._on_disconnected()
+ return
self.pasword_callback = (callback, type_)
if type_ == 'X-MESSENGER-OAUTH2':
client_id = gajim.config.get_per('accounts', self.name,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/connection_handlers.py new/gajim-0.16.4/src/common/connection_handlers.py
--- old/gajim-0.16.3/src/common/connection_handlers.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/connection_handlers.py 2015-09-26 15:58:52.000000000 +0200
@@ -894,6 +894,8 @@
self._nec_gc_presence_received)
gajim.ged.register_event_handler('message-received', ged.CORE,
self._nec_message_received)
+ gajim.ged.register_event_handler('mam-message-received', ged.CORE,
+ self._nec_mam_message_received)
gajim.ged.register_event_handler('decrypted-message-received', ged.CORE,
self._nec_decrypted_message_received)
@@ -906,6 +908,8 @@
self._nec_gc_presence_received)
gajim.ged.remove_event_handler('message-received', ged.CORE,
self._nec_message_received)
+ gajim.ged.remove_event_handler('mam-message-received', ged.CORE,
+ self._nec_mam_message_received)
gajim.ged.remove_event_handler('decrypted-message-received', ged.CORE,
self._nec_decrypted_message_received)
@@ -1118,14 +1122,46 @@
gajim.nec.push_incoming_event(DecryptedMessageReceivedEvent(None,
conn=self, msg_obj=obj))
+ def _nec_mam_message_received(self, obj):
+ if obj.conn.name != self.name:
+ return
+ if obj.enc_tag and self.USE_GPG:
+ encmsg = obj.enc_tag.getData()
+
+ keyID = gajim.config.get_per('accounts', self.name, 'keyid')
+ if keyID:
+ self.gpg_messages_to_decrypt.append([encmsg, keyID, obj])
+ if len(self.gpg_messages_to_decrypt) == 1:
+ gajim.thread_interface(self.decrypt_thread, [encmsg, keyID,
+ obj], self._on_mam_message_decrypted, [obj])
+ return
+ gajim.nec.push_incoming_event(MamDecryptedMessageReceivedEvent(None,
+ conn=self, msg_obj=obj))
+
def _on_message_decrypted(self, output, obj):
if len(self.gpg_messages_to_decrypt):
encmsg, keyID, obj2 = self.gpg_messages_to_decrypt[0]
+ if type(obj2) == MessageReceivedEvent:
+ cb = self._on_message_decrypted
+ else:
+ cb = self._on_mam_message_decrypted
gajim.thread_interface(self.decrypt_thread, [encmsg, keyID, obj2],
- self._on_message_decrypted, [obj2])
+ cb, [obj2])
gajim.nec.push_incoming_event(DecryptedMessageReceivedEvent(None,
conn=self, msg_obj=obj))
+ def _on_mam_message_decrypted(self, output, obj):
+ if len(self.gpg_messages_to_decrypt):
+ encmsg, keyID, obj2 = self.gpg_messages_to_decrypt[0]
+ if type(obj2) == MessageReceivedEvent:
+ cb = self._on_message_decrypted
+ else:
+ cb = self._on_mam_message_decrypted
+ gajim.thread_interface(self.decrypt_thread, [encmsg, keyID, obj2],
+ cb, [obj2])
+ gajim.nec.push_incoming_event(MamDecryptedMessageReceivedEvent(None,
+ conn=self, msg_obj=obj))
+
def _nec_decrypted_message_received(self, obj):
if obj.conn.name != self.name:
return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/connection_handlers_events.py new/gajim-0.16.4/src/common/connection_handlers_events.py
--- old/gajim-0.16.3/src/common/connection_handlers_events.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/connection_handlers_events.py 2015-09-26 15:58:52.000000000 +0200
@@ -1011,6 +1011,77 @@
name = 'before-change-show'
base_network_events = []
+class MamMessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
+ name = 'mam-message-received'
+ base_network_events = []
+
+ def generate(self):
+ if not self.stanza:
+ return
+ account = self.conn.name
+ delay = self.stanza.getTag('delay', namespace=nbxmpp.NS_DELAY2)
+ if not delay:
+ return
+ tim = delay.getAttr('stamp')
+ tim = helpers.datetime_tuple(tim)
+ self.tim = localtime(timegm(tim))
+ self.msg_ = self.stanza.getTag('message')
+ to_ = self.msg_.getAttr('to')
+ if to_:
+ to_ = gajim.get_jid_without_resource(to_)
+ else:
+ to_ = gajim.get_jid_from_account(account)
+ frm_ = gajim.get_jid_without_resource(self.msg_.getAttr('from'))
+ self.msgtxt = self.msg_.getTagData('body')
+ if to_ == gajim.get_jid_from_account(account):
+ self.with_ = frm_
+ self.direction = 'from'
+ self.resource = gajim.get_resource_from_jid(
+ self.msg_.getAttr('from'))
+ else:
+ self.with_ = to_
+ self.direction = 'to'
+ self.resource = gajim.get_resource_from_jid(self.msg_.getAttr('to'))
+ self.enc_tag = self.msg_.getTag('x', namespace=nbxmpp.NS_ENCRYPTED)
+ return True
+
+class MamDecryptedMessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
+ name = 'mam-decrypted-message-received'
+ base_network_events = []
+
+ def generate(self):
+ self.nick = None
+ msg_ = self.msg_obj.msg_
+ self.with_ = self.msg_obj.with_
+ self.direction = self.msg_obj.direction
+ self.tim = self.msg_obj.tim
+ res = self.msg_obj.resource
+ self.msgtxt = self.msg_obj.msgtxt
+ is_pm = gajim.logger.jid_is_room_jid(self.with_)
+ if msg_.getAttr('type') == 'groupchat':
+ if is_pm == False:
+ log.warn('JID %s is marked as normal contact in database '
+ 'but we got a groupchat message from it.')
+ return
+ if is_pm == None:
+ gajim.logger.get_jid_id(self.with_, 'ROOM')
+ self.nick = res
+ else:
+ if is_pm == None:
+ # we don't know this JID, we need to disco it.
+ server = gajim.get_server_from_jid(self.with_)
+ if server not in self.conn.mam_awaiting_disco_result:
+ self.conn.mam_awaiting_disco_result[server] = [
+ [self.with_, self.direction, self.tim, self.msgtxt,
+ res]]
+ self.conn.discoverInfo(server)
+ else:
+ self.conn.mam_awaiting_disco_result[server].append(
+ [self.with_, self.direction, self.tim, self.msgtxt,
+ res])
+ return
+ return True
+
class MessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
name = 'message-received'
base_network_events = ['raw-message-received']
@@ -1092,55 +1163,8 @@
result = self.stanza.getTag('result', namespace=nbxmpp.NS_MAM)
if result:
forwarded = result.getTag('forwarded', namespace=nbxmpp.NS_FORWARD)
- if not forwarded:
- return
- delay = forwarded.getTag('delay', namespace=nbxmpp.NS_DELAY2)
- if not delay:
- return
- tim = delay.getAttr('stamp')
- tim = helpers.datetime_tuple(tim)
- tim = localtime(timegm(tim))
- msg_ = forwarded.getTag('message')
- to_ = msg_.getAttr('to')
- if to_:
- to_ = gajim.get_jid_without_resource(to_)
- else:
- to_ = gajim.get_jid_from_account(account)
- frm_ = gajim.get_jid_without_resource(msg_.getAttr('from'))
- nick = None
- msg_txt = msg_.getTagData('body')
- if to_ == gajim.get_jid_from_account(account):
- with_ = frm_
- direction = 'from'
- res = gajim.get_resource_from_jid(msg_.getAttr('from'))
- else:
- with_ = to_
- direction = 'to'
- res = gajim.get_resource_from_jid(msg_.getAttr('to'))
- is_pm = gajim.logger.jid_is_room_jid(with_)
- if msg_.getAttr('type') == 'groupchat':
- if is_pm == False:
- log.warn('JID %s is marked as normal contact in database '
- 'but we got a groupchat message from it.')
- return
- if is_pm == None:
- gajim.logger.get_jid_id(with_, 'ROOM')
- nick = res
- else:
- if is_pm == None:
- # we don't know this JID, we need to disco it.
- server = gajim.get_server_from_jid(with_)
- if server not in self.conn.mam_awaiting_disco_result:
- self.conn.mam_awaiting_disco_result[server] = [
- [with_, direction, tim, msg_txt, res]]
- self.conn.discoverInfo(server)
- else:
- self.conn.mam_awaiting_disco_result[server].append(
- [with_, direction, tim, msg_txt, res])
- return
-
- gajim.logger.save_if_not_exists(with_, direction, tim,
- msg=msg_txt, nick=nick)
+ gajim.nec.push_incoming_event(MamMessageReceivedEvent(None,
+ conn=self.conn, stanza=forwarded))
return
self.enc_tag = self.stanza.getTag('x', namespace=nbxmpp.NS_ENCRYPTED)
@@ -1922,6 +1946,10 @@
name = 'privacy-list-active-default'
base_network_events = []
+class NonAnonymousServerErrorEvent(nec.NetworkIncomingEvent):
+ name = 'non-anonymous-server-error'
+ base_network_events = []
+
class VcardReceivedEvent(nec.NetworkIncomingEvent):
name = 'vcard-received'
base_network_events = []
@@ -2564,6 +2592,12 @@
def generate(self):
return True
+class StanzaMessageOutgoingEvent(nec.NetworkOutgoingEvent):
+ name='stanza-message-outgoing'
+ base_network_events = []
+
+ def generate(self):
+ return True
class GcMessageOutgoingEvent(nec.NetworkOutgoingEvent):
name = 'gc-message-outgoing'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/defs.py new/gajim-0.16.4/src/common/defs.py
--- old/gajim-0.16.3/src/common/defs.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/defs.py 2015-09-26 15:58:52.000000000 +0200
@@ -27,7 +27,7 @@
basedir = '../'
localedir = '../po'
-version = '0.16.3'
+version = '0.16.4'
import subprocess
try:
node = subprocess.Popen('hg tip --template "{node|short}"', shell=True,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/gpg.py new/gajim-0.16.4/src/common/gpg.py
--- old/gajim-0.16.3/src/common/gpg.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/gpg.py 2015-09-26 15:58:52.000000000 +0200
@@ -56,8 +56,7 @@
trust = False
if not trust:
# check that we'll be able to encrypt
- result = super(GnuPG, self).list_keys(recipients,
- keys=recipients)
+ result = super(GnuPG, self).list_keys(keys=recipients)
for key in result:
if key['trust'] not in ('f', 'u'):
return '', 'NOT_TRUSTED'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/helpers.py new/gajim-0.16.4/src/common/helpers.py
--- old/gajim-0.16.3/src/common/helpers.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/helpers.py 2015-09-26 15:58:52.000000000 +0200
@@ -1459,9 +1459,11 @@
"""
Download an image. This function should be launched in a separated thread.
"""
- mem, alt = '', ''
- # Wait maximum 5s for connection
- socket.setdefaulttimeout(5)
+ mem, alt, max_size = '', '', 2*1024*1024
+ if 'max_size' in attrs:
+ max_size = attrs['max_size']
+ # Wait maximum 10s for connection
+ socket.setdefaulttimeout(10)
try:
req = urllib2.Request(attrs['src'])
req.add_header('User-Agent', 'Gajim ' + gajim.version)
@@ -1471,13 +1473,13 @@
pixbuf = None
alt = attrs.get('alt', 'Broken image')
else:
- # Wait 0.5s between each byte
+ # Wait 2s between each byte
try:
- f.fp._sock.fp._sock.settimeout(0.5)
+ f.fp._sock.fp._sock.settimeout(2)
except Exception:
pass
- # Max image size = 2 MB (to try to prevent DoS)
- deadline = time.time() + 3
+ # On a slow internet connection with ~1000kbps you need ~10 seconds for 1 MB
+ deadline = time.time() + (10 * (max_size / 1048576))
while True:
if time.time() > deadline:
log.debug('Timeout loading image %s ' % attrs['src'])
@@ -1500,7 +1502,7 @@
mem += temp
else:
break
- if len(mem) > 2*1024*1024:
+ if len(mem) > max_size:
alt = attrs.get('alt', '')
if alt:
alt += '\n'
@@ -1515,15 +1517,19 @@
"""
if not gajim.HAVE_PYCURL:
return '', _('PyCURL is not installed')
- mem, alt = '', ''
+ mem, alt, max_size = '', '', 2*1024*1024
+ if 'max_size' in attrs:
+ max_size = attrs['max_size']
try:
b = StringIO()
c = pycurl.Curl()
c.setopt(pycurl.URL, attrs['src'].encode('utf-8'))
c.setopt(pycurl.FOLLOWLOCATION, 1)
- c.setopt(pycurl.CONNECTTIMEOUT, 5)
- c.setopt(pycurl.TIMEOUT, 10)
- c.setopt(pycurl.MAXFILESIZE, 2000000)
+ # Wait maximum 10s for connection
+ c.setopt(pycurl.CONNECTTIMEOUT, 10)
+ # On a slow internet connection with ~1000kbps you need ~10 seconds for 1 MB
+ c.setopt(pycurl.TIMEOUT, 10 * (max_size / 1048576))
+ c.setopt(pycurl.MAXFILESIZE, max_size)
c.setopt(pycurl.WRITEFUNCTION, b.write)
c.setopt(pycurl.USERAGENT, 'Gajim ' + gajim.version)
# set proxy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/logger.py new/gajim-0.16.4/src/common/logger.py
--- old/gajim-0.16.3/src/common/logger.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/logger.py 2015-09-26 15:58:52.000000000 +0200
@@ -1103,21 +1103,22 @@
time_col = int(float(time.mktime(tim)))
else:
time_col = int(float(time.time()))
- if msg:
- if self.jid_is_from_pm(with_) or nick:
- # It's a groupchat message
- if nick:
- # It's a message from a groupchat occupent
- type_ = 'gc_msg'
- with_ = with_ + '/' + nick
- else:
- # It's a server message message, we don't log them
- return
+ if not msg:
+ return
+ if self.jid_is_from_pm(with_) or nick:
+ # It's a groupchat message
+ if nick:
+ # It's a message from a groupchat occupent
+ type_ = 'gc_msg'
+ with_ = with_ + '/' + nick
else:
- if direction == 'from':
- type_ = 'chat_msg_recv'
- elif direction == 'to':
- type_ = 'chat_msg_sent'
+ # It's a server message message, we don't log them
+ return
+ else:
+ if direction == 'from':
+ type_ = 'chat_msg_recv'
+ elif direction == 'to':
+ type_ = 'chat_msg_sent'
jid_id = self.get_jid_id(with_)
where_sql = 'jid_id = %s AND message=?' % jid_id
if type_ == 'gc_msg':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/message_archiving.py new/gajim-0.16.4/src/common/message_archiving.py
--- old/gajim-0.16.3/src/common/message_archiving.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/message_archiving.py 2015-09-26 15:58:52.000000000 +0200
@@ -47,10 +47,18 @@
self._nec_agent_info_error)
gajim.ged.register_event_handler('agent-info-received', ged.CORE,
self._nec_agent_info)
+ gajim.ged.register_event_handler('mam-decrypted-message-received',
+ ged.CORE, self._nec_mam_decrypted_message_received)
def cleanup(self):
gajim.ged.remove_event_handler('raw-message-received', ged.CORE,
self._nec_raw_message_313_received)
+ gajim.ged.remove_event_handler('agent-info-error-received', ged.CORE,
+ self._nec_agent_info_error)
+ gajim.ged.remove_event_handler('agent-info-received', ged.CORE,
+ self._nec_agent_info)
+ gajim.ged.remove_event_handler('mam-decrypted-message-received',
+ ged.CORE, self._nec_mam_decrypted_message_received)
def _nec_agent_info_error(self, obj):
if obj.jid in self.mam_awaiting_disco_result:
@@ -81,7 +89,7 @@
if obj.conn.name != self.name:
return
- fin_ = obj.stanza.getTag('fin', namespace=nbxmpp.NS_MAM)
+ fin_ = obj.stanza.getTag('fin', namespace=nbxmpp.NS_MAM)
if fin_:
queryid_ = fin_.getAttr('queryid')
if queryid_ not in self.awaiting_answers:
@@ -99,11 +107,17 @@
del self.awaiting_answers[queryid_]
+ def _nec_mam_decrypted_message_received(self, obj):
+ if obj.conn.name != self.name:
+ return
+ gajim.logger.save_if_not_exists(obj.with_, obj.direction, obj.tim,
+ msg=obj.msgtxt, nick=obj.nick)
+
def request_archive(self, start=None, end=None, with_=None, after=None,
max=30):
iq_ = nbxmpp.Iq('set')
query = iq_.addChild('query', namespace=nbxmpp.NS_MAM)
- x = query.addChild('x', namespace=nbxmpp.NS_DATA)
+ x = query.addChild(node=nbxmpp.DataForm(typ='submit'))
x.addChild(node=nbxmpp.DataField(typ='hidden', name='FORM_TYPE', value=nbxmpp.NS_MAM))
if start:
x.addChild(node=nbxmpp.DataField(typ='text-single', name='start', value=start))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/common/optparser.py new/gajim-0.16.4/src/common/optparser.py
--- old/gajim-0.16.3/src/common/optparser.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/common/optparser.py 2015-09-26 15:58:52.000000000 +0200
@@ -43,7 +43,7 @@
class OptionsParser:
def __init__(self, filename):
- self.__filename = filename
+ self.__filename = os.path.realpath(filename)
self.old_values = {} # values that are saved in the file and maybe
# no longer valid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/config.py new/gajim-0.16.4/src/config.py
--- old/gajim-0.16.3/src/config.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/config.py 2015-09-26 15:58:52.000000000 +0200
@@ -1963,6 +1963,8 @@
else:
self.xml.get_object('log_history_checkbutton1').set_active(True)
+ self.xml.get_object('sync_logs_with_server_checkbutton1').set_active(
+ gajim.config.get_per('accounts', account, 'sync_logs_with_server'))
self.xml.get_object('sync_with_global_status_checkbutton1').set_active(
gajim.config.get_per('accounts', account,
'sync_with_global_status'))
@@ -2318,6 +2320,12 @@
gajim.config.set_per('accounts', self.current_account, 'no_log_for',
' '.join(list_no_log_for))
+ def on_sync_logs_with_server_checkbutton_toggled(self, widget):
+ if self.ignore_events:
+ return
+ self.on_checkbutton_toggled(widget, 'sync_logs_with_server',
+ account=self.current_account)
+
def on_sync_with_global_status_checkbutton_toggled(self, widget):
if self.ignore_events:
return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/conversation_textview.py new/gajim-0.16.4/src/conversation_textview.py
--- old/gajim-0.16.3/src/conversation_textview.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/conversation_textview.py 2015-09-26 15:58:52.000000000 +0200
@@ -122,6 +122,11 @@
if not parent:
self._disconnect_signals()
return
+ if isinstance(parent, gtk.EventBox):
+ parent = parent.get_parent()
+ if not parent:
+ self._disconnect_signals()
+ return
self._do_connect(parent, 'style-set', self.do_queue_draw)
self._do_connect(parent, 'focus-in-event', self.do_queue_draw)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/gui_interface.py new/gajim-0.16.4/src/gui_interface.py
--- old/gajim-0.16.3/src/gui_interface.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/gui_interface.py 2015-09-26 15:58:52.000000000 +0200
@@ -1138,13 +1138,15 @@
# Else disable autoaway
gajim.sleeper_state[account] = 'off'
- if obj.conn.archiving_136_supported:
+ if obj.conn.archiving_136_supported and gajim.config.get_per('accounts',
+ account, 'sync_logs_with_server'):
# Start merging logs from server
obj.conn.request_modifications_page(gajim.config.get_per('accounts',
account, 'last_archiving_time'))
gajim.config.set_per('accounts', account, 'last_archiving_time',
time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()))
- if obj.conn.archiving_313_supported:
+ if obj.conn.archiving_313_supported and gajim.config.get_per('accounts',
+ account, 'sync_logs_with_server'):
mam_id = gajim.config.get_per('accounts', account, 'last_mam_id')
if mam_id:
obj.conn.request_archive(after=mam_id)
@@ -1370,6 +1372,13 @@
self.instances[account]['online_dialog']['ssl_error'].set_title(
_('SSL Certificate Verification for %s') % account)
+ def handle_event_non_anonymous_server(self, obj):
+ account = obj.conn.name
+ server = gajim.config.get_per('accounts', account, 'hostname')
+ dialogs.ErrorDialog(_('Non Anonymous Server'), sectext='Server "%s"'
+ 'does not support anonymous connection' % server,
+ transient_for=self.roster.window)
+
def handle_event_fingerprint_error(self, obj):
# ('FINGERPRINT_ERROR', account, (new_fingerprint,))
account = obj.conn.name
@@ -1566,6 +1575,7 @@
[self.handle_event_roster_item_exchange],
'signed-in': [self.handle_event_signed_in],
'ssl-error': [self.handle_event_ssl_error],
+ 'non-anonymous-server-error': [self.handle_event_non_anonymous_server],
'stream-conflict-received': [self.handle_event_resource_conflict],
'subscribe-presence-received': [
self.handle_event_subscribe_presence],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gajim-0.16.3/src/secrets.py new/gajim-0.16.4/src/secrets.py
--- old/gajim-0.16.3/src/secrets.py 2015-07-31 14:27:50.000000000 +0200
+++ new/gajim-0.16.4/src/secrets.py 2015-09-26 15:58:52.000000000 +0200
@@ -96,7 +96,7 @@
def load_secrets(filename):
global Secrets
- f = open(filename, 'rb')
+ f = open(filename, 'r')
try:
secrets = pickle.load(f)
1
0
Hello community,
here is the log from the commit of package perl-Mojolicious for openSUSE:Factory checked in at 2015-09-30 05:52:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes 2015-09-24 06:15:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new/perl-Mojolicious.changes 2015-09-30 05:52:43.000000000 +0200
@@ -1,0 +2,22 @@
+Sun Sep 27 09:00:50 UTC 2015 - coolo(a)suse.com
+
+- updated to 6.22
+ see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+ 6.22 2015-09-26
+ - Improved Mojo::JSON by reusing JSON::PP boolean constants.
+ - Improved uniq method in Mojo::Collection to accept a callback. (CandyAngel)
+ - Improved first and grep methods in Mojo::Collection to be able to call
+ methods.
+ - Improved support for empty attributes in Mojo::DOM::HTML.
+
+-------------------------------------------------------------------
+Wed Sep 23 08:48:53 UTC 2015 - coolo(a)suse.com
+
+- updated to 6.21
+ see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+ 6.21 2015-09-23
+ - Added val method to Mojo::DOM.
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-6.20.tar.gz
New:
----
Mojolicious-6.22.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.ESQ4Qj/_old 2015-09-30 05:52:44.000000000 +0200
+++ /var/tmp/diff_new_pack.ESQ4Qj/_new 2015-09-30 05:52:44.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Mojolicious
-Version: 6.20
+Version: 6.22
Release: 0
%define cpan_name Mojolicious
Summary: Real-time web framework
@@ -31,9 +31,11 @@
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(IO::Socket::IP) >= 0.26
+BuildRequires: perl(JSON::PP) >= 2.27103
BuildRequires: perl(Pod::Simple) >= 3.09
BuildRequires: perl(Time::Local) >= 1.2
Requires: perl(IO::Socket::IP) >= 0.26
+Requires: perl(JSON::PP) >= 2.27103
Requires: perl(Pod::Simple) >= 3.09
Requires: perl(Time::Local) >= 1.2
%{perl_requires}
++++++ Mojolicious-6.20.tar.gz -> Mojolicious-6.22.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/Changes new/Mojolicious-6.22/Changes
--- old/Mojolicious-6.20/Changes 2015-09-17 00:44:17.000000000 +0200
+++ new/Mojolicious-6.22/Changes 2015-09-26 04:10:45.000000000 +0200
@@ -1,4 +1,14 @@
+6.22 2015-09-26
+ - Improved Mojo::JSON by reusing JSON::PP boolean constants.
+ - Improved uniq method in Mojo::Collection to accept a callback. (CandyAngel)
+ - Improved first and grep methods in Mojo::Collection to be able to call
+ methods.
+ - Improved support for empty attributes in Mojo::DOM::HTML.
+
+6.21 2015-09-23
+ - Added val method to Mojo::DOM.
+
6.20 2015-09-15
- Deprecated Mojo::UserAgent::CookieJar::collecting in favor of
Mojo::UserAgent::CookieJar::ignore.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/META.json new/Mojolicious-6.22/META.json
--- old/Mojolicious-6.20/META.json 2015-09-17 00:49:25.000000000 +0200
+++ new/Mojolicious-6.22/META.json 2015-09-27 03:03:11.000000000 +0200
@@ -35,6 +35,7 @@
"runtime" : {
"requires" : {
"IO::Socket::IP" : "0.26",
+ "JSON::PP" : "2.27103",
"Pod::Simple" : "3.09",
"Time::Local" : "1.2",
"perl" : "5.010001"
@@ -57,6 +58,6 @@
},
"x_IRC" : "irc://irc.perl.org/#mojo"
},
- "version" : "6.20",
+ "version" : "6.22",
"x_serialization_backend" : "JSON::PP version 2.27300"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/META.yml new/Mojolicious-6.22/META.yml
--- old/Mojolicious-6.20/META.yml 2015-09-17 00:49:25.000000000 +0200
+++ new/Mojolicious-6.22/META.yml 2015-09-27 03:03:10.000000000 +0200
@@ -21,6 +21,7 @@
- t
requires:
IO::Socket::IP: '0.26'
+ JSON::PP: '2.27103'
Pod::Simple: '3.09'
Time::Local: '1.2'
perl: '5.010001'
@@ -30,5 +31,5 @@
homepage: http://mojolicio.us
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/kraih/mojo.git
-version: '6.20'
+version: '6.22'
x_serialization_backend: 'CPAN::Meta::YAML version 0.016'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/Makefile.PL new/Mojolicious-6.22/Makefile.PL
--- old/Mojolicious-6.20/Makefile.PL 2015-08-29 01:37:48.000000000 +0200
+++ new/Mojolicious-6.22/Makefile.PL 2015-09-24 20:21:19.000000000 +0200
@@ -6,6 +6,7 @@
use ExtUtils::MakeMaker;
# Pod::Simple 3.09 first shipped with Perl 5.11.2
+# JSON::PP 2.27103 first shipped with Perl 5.13.9
# Time::Local 1.2 first shipped with Perl 5.13.9
# IO::Socket::IP 0.26 first shipped with Perl 5.19.8
WriteMakefile(
@@ -33,6 +34,7 @@
},
PREREQ_PM => {
'IO::Socket::IP' => '0.26',
+ 'JSON::PP' => '2.27103',
'Pod::Simple' => '3.09',
'Time::Local' => '1.2'
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/Collection.pm new/Mojolicious-6.22/lib/Mojo/Collection.pm
--- old/Mojolicious-6.20/lib/Mojo/Collection.pm 2015-08-29 13:14:02.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/Collection.pm 2015-09-26 04:10:34.000000000 +0200
@@ -27,18 +27,18 @@
}
sub first {
- my ($self, $cb) = @_;
+ my ($self, $cb) = (shift, shift);
return $self->[0] unless $cb;
- return List::Util::first { $cb->($_) } @$self if ref $cb eq 'CODE';
- return List::Util::first { $_ =~ $cb } @$self;
+ return List::Util::first { $_ =~ $cb } @$self if ref $cb eq 'Regexp';
+ return List::Util::first { $_->$cb(@_) } @$self;
}
sub flatten { $_[0]->new(_flatten(@{$_[0]})) }
sub grep {
- my ($self, $cb) = @_;
- return $self->new(grep { $cb->($_) } @$self) if ref $cb eq 'CODE';
- return $self->new(grep { $_ =~ $cb } @$self);
+ my ($self, $cb) = (shift, shift);
+ return $self->new(grep { $_ =~ $cb } @$self) if ref $cb eq 'Regexp';
+ return $self->new(grep { $_->$cb(@_) } @$self);
}
sub join {
@@ -93,8 +93,10 @@
sub to_array { [@{shift()}] }
sub uniq {
+ my ($self, $cb) = (shift, shift);
my %seen;
- return $_[0]->new(grep { !$seen{$_}++ } @{$_[0]});
+ return $self->new(grep { !$seen{$_->$cb(@_)}++ } @$self) if $cb;
+ return $self->new(grep { !$seen{$_}++ } @$self);
}
sub _flatten {
@@ -190,11 +192,16 @@
my $first = $collection->first;
my $first = $collection->first(qr/foo/);
my $first = $collection->first(sub {...});
+ my $first = $collection->first($method);
+ my $first = $collection->first($method, @args);
-Evaluate regular expression or callback for each element in collection and
-return the first one that matched the regular expression, or for which the
-callback returned true. The element will be the first argument passed to the
-callback and is also available as C<$_>.
+Evaluate regular expression/callback for, or call method on, each element in
+collection and return the first one that matched the regular expression, or for
+which the callback/method returned true. The element will be the first argument
+passed to the callback and is also available as C<$_>.
+
+ # Longer version
+ my $first = $collection->first(sub { $_->$method(@args) });
# Find first value that contains the word "mojo"
my $interesting = $collection->first(qr/mojo/i);
@@ -216,11 +223,17 @@
my $new = $collection->grep(qr/foo/);
my $new = $collection->grep(sub {...});
+ my $new = $collection->grep($method);
+ my $new = $collection->grep($method, @args);
-Evaluate regular expression or callback for each element in collection and
-create a new collection with all elements that matched the regular expression,
-or for which the callback returned true. The element will be the first argument
-passed to the callback and is also available as C<$_>.
+Evaluate regular expression/callback for, or call method on, each element in
+collection and create a new collection with all elements that matched the
+regular expression, or for which the callback/method returned true. The element
+will be the first argument passed to the callback and is also available as
+C<$_>.
+
+ # Longer version
+ my $new = $collection->grep(sub { $_->$method(@args) });
# Find all values that contain the word "mojo"
my $interesting = $collection->grep(qr/mojo/i);
@@ -333,12 +346,23 @@
=head2 uniq
my $new = $collection->uniq;
+ my $new = $collection->uniq(sub {...});
+ my $new = $collection->uniq($method);
+ my $new = $collection->uniq($method, @args);
+
+Create a new collection without duplicate elements, using the string
+representation of either the elements or the return value of the
+callback/method.
-Create a new collection without duplicate elements.
+ # Longer version
+ my $new = $collection->uniq(sub { $_->$method(@args) });
# "foo bar baz"
Mojo::Collection->new('foo', 'bar', 'bar', 'baz')->uniq->join(' ');
+ # "[[1, 2], [2, 1]]"
+ Mojo::Collection->new([1, 2], [2, 1], [3, 2])->uniq(sub{ $_->[1] })->to_array;
+
=head1 SEE ALSO
L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicio.us>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/DOM/CSS.pm new/Mojolicious-6.22/lib/Mojo/DOM/CSS.pm
--- old/Mojolicious-6.20/lib/Mojo/DOM/CSS.pm 2015-08-29 16:02:28.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/DOM/CSS.pm 2015-09-22 00:37:19.000000000 +0200
@@ -386,19 +386,6 @@
my $root = $css->select(':root');
-=head2 E:checked
-
-A user interface element C<E> which is checked (for instance a radio-button or
-checkbox).
-
- my $input = $css->select(':checked');
-
-=head2 E:empty
-
-An C<E> element that has no children (including text nodes).
-
- my $empty = $css->select(':empty');
-
=head2 E:nth-child(n)
An C<E> element, the C<n-th> child of its parent.
@@ -471,6 +458,19 @@
my $lonely = $css->select('div p:only-of-type');
+=head2 E:empty
+
+An C<E> element that has no children (including text nodes).
+
+ my $empty = $css->select(':empty');
+
+=head2 E:checked
+
+A user interface element C<E> which is checked (for instance a radio-button or
+checkbox).
+
+ my $input = $css->select(':checked');
+
=head2 E.warning
An C<E> element whose class is "warning".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/DOM/HTML.pm new/Mojolicious-6.22/lib/Mojo/DOM/HTML.pm
--- old/Mojolicious-6.20/lib/Mojo/DOM/HTML.pm 2015-08-29 13:17:09.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/DOM/HTML.pm 2015-09-25 01:03:50.000000000 +0200
@@ -228,8 +228,9 @@
# Attributes
for my $key (sort keys %{$tree->[2]}) {
- $result .= " $key" and next unless defined(my $value = $tree->[2]{$key});
- $result .= " $key" . '="' . xml_escape($value) . '"';
+ my $value = $tree->[2]{$key};
+ $result .= $xml ? qq{ $key="$key"} : " $key" and next unless defined $value;
+ $result .= qq{ $key="} . xml_escape($value) . '"';
}
# No children
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/DOM.pm new/Mojolicious-6.22/lib/Mojo/DOM.pm
--- old/Mojolicious-6.20/lib/Mojo/DOM.pm 2015-08-29 13:17:09.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/DOM.pm 2015-09-23 00:05:13.000000000 +0200
@@ -159,6 +159,20 @@
sub type { shift->tree->[0] }
+sub val {
+ my $self = shift;
+
+ # "option"
+ return $self->{value} // $self->text if (my $tag = $self->tag) eq 'option';
+
+ # "textarea", "input" or "button"
+ return $tag eq 'textarea' ? $self->text : $self->{value} if $tag ne 'select';
+
+ # "select"
+ my $v = $self->find('option:checked')->map('val');
+ return exists $self->{multiple} ? $v->size ? $v->to_array : undef : $v->last;
+}
+
sub wrap { shift->_wrap(0, @_) }
sub wrap_content { shift->_wrap(1, @_) }
@@ -401,27 +415,57 @@
selector support. It will even try to interpret broken HTML and XML, so you
should not use it for validation.
+=head1 NODES AND ELEMENTS
+
+When we parse an HTML/XML fragment, it gets turned into a tree of nodes.
+
+ <!DOCTYPE html>
+ <html>
+ <head><title>Hello</title></head>
+ <body>World!</body>
+ </html>
+
+There are currently eight different kinds of nodes, C<cdata>, C<comment>,
+C<doctype>, C<pi>, C<raw>, C<root>, C<tag> and C<text>. Elements are nodes of
+the type C<tag>.
+
+ root
+ |- doctype (html)
+ +- tag (html)
+ |- tag (head)
+ | +- tag (title)
+ | +- raw (Hello)
+ +- tag (body)
+ +- text (World!)
+
+While all node types are represented as L<Mojo::DOM> objects, some methods like
+L</"attr"> and L</"namespace"> only apply to elements.
+
=head1 CASE-SENSITIVITY
L<Mojo::DOM> defaults to HTML semantics, that means all tags and attribute
names are lowercased and selectors need to be lowercase as well.
+ # HTML semantics
my $dom = Mojo::DOM->new('<P ID="greeting">Hi!</P>');
say $dom->at('p[id]')->text;
If XML processing instructions are found, the parser will automatically switch
into XML mode and everything becomes case-sensitive.
+ # XML semantics
my $dom = Mojo::DOM->new('<?xml version="1.0"?><P ID="greeting">Hi!</P>');
say $dom->at('P[ID]')->text;
XML detection can also be disabled with the L</"xml"> method.
# Force XML semantics
- $dom->xml(1);
+ my $dom = Mojo::DOM->new->xml(1)->parse('<P ID="greeting">Hi!</P>');
+ say $dom->at('P[ID]')->text;
# Force HTML semantics
- $dom->xml(0);
+ my $dom = Mojo::DOM->new->xml(0)->parse('<P ID="greeting">Hi!</P>');
+ say $dom->at('p[id]')->text;
=head1 METHODS
@@ -518,8 +562,11 @@
# "<p><b>123</b></p>"
$dom->parse('<p>Test<b>123</b></p>')->at('p')->child_nodes->first->remove;
- # "<!-- Test -->"
- $dom->parse('<!-- Test --><b>123</b>')->child_nodes->first;
+ # "<!DOCTYPE html>"
+ $dom->parse('<!DOCTYPE html><b>123</b>')->child_nodes->first;
+
+ # " Test "
+ $dom->parse('<b>123</b><!-- Test -->')->child_nodes->last->content;
=head2 children
@@ -778,7 +825,7 @@
my $parent = $dom->remove;
-Remove this node and return L</"parent">.
+Remove this node and return L</"root"> (for C<root> nodes) or L</"parent">.
# "<div></div>"
$dom->parse('<div><h1>Test</h1></div>')->at('h1')->remove;
@@ -791,7 +838,8 @@
my $parent = $dom->replace('<div>I ♥ Mojolicious!</div>');
-Replace this node with HTML/XML fragment and return L</"parent">.
+Replace this node with HTML/XML fragment and return L</"root"> (for C<root>
+nodes) or L</"parent">.
# "<div><h2>123</h2></div>"
$dom->parse('<div><h1>Test</h1></div>')->at('h1')->replace('<h2>123</h2>');
@@ -804,7 +852,7 @@
my $root = $dom->root;
-Return L<Mojo::DOM> object for root node.
+Return L<Mojo::DOM> object for C<root> node.
=head2 strip
@@ -869,6 +917,57 @@
This node's type, usually C<cdata>, C<comment>, C<doctype>, C<pi>, C<raw>,
C<root>, C<tag> or C<text>.
+ # "cdata"
+ $dom->parse('<![CDATA[Test]]>')->child_nodes->first->type;
+
+ # "comment"
+ $dom->parse('<!-- Test -->')->child_nodes->first->type;
+
+ # "doctype"
+ $dom->parse('<!DOCTYPE html>')->child_nodes->first->type;
+
+ # "pi"
+ $dom->parse('<?xml version="1.0"?>')->child_nodes->first->type;
+
+ # "raw"
+ $dom->parse('<title>Test</title>')->at('title')->child_nodes->first->type;
+
+ # "root"
+ $dom->parse('<p>Test</p>')->type;
+
+ # "tag"
+ $dom->parse('<p>Test</p>')->at('p')->type;
+
+ # "text"
+ $dom->parse('<p>Test</p>')->at('p')->child_nodes->first->type;
+
+=head2 val
+
+ my $value = $dom->val;
+
+Extract value from form element (such as C<button>, C<input>, C<option>,
+C<select> and C<textarea>) or return C<undef> if this element has no value. In
+the case of C<select> with C<multiple> attribute, find C<option> elements with
+C<selected> attribute and return an array reference with all values or C<undef>
+if none could be found.
+
+ # "a"
+ $dom->parse('<input name="test" value="a">')->at('input')->val;
+
+ # "b"
+ $dom->parse('<textarea>b</textarea>')->at('textarea')->val;
+
+ # "c"
+ $dom->parse('<option value="c">Test</option>')->at('option')->val;
+
+ # "d"
+ $dom->parse('<select><option selected>d</option></select>')
+ ->at('select')->val;
+
+ # "e"
+ $dom->parse('<select multiple><option selected>e</option></select>')
+ ->at('select')->val->[0];
+
=head2 wrap
$dom = $dom->wrap('<div></div>');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/JSON.pm new/Mojolicious-6.22/lib/Mojo/JSON.pm
--- old/Mojolicious-6.20/lib/Mojo/JSON.pm 2015-08-29 16:03:19.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/JSON.pm 2015-09-24 20:42:32.000000000 +0200
@@ -4,14 +4,12 @@
use B;
use Carp 'croak';
use Exporter 'import';
+use JSON::PP ();
use Mojo::Util;
use Scalar::Util 'blessed';
our @EXPORT_OK = qw(decode_json encode_json false from_json j to_json true);
-# Booleans
-my ($FALSE, $TRUE) = map { bless \(my $dummy = $_), 'Mojo::JSON::_Bool' } 0, 1;
-
# Escaped special character map (with u2028 and u2029)
my %ESCAPE = (
'"' => '"',
@@ -35,7 +33,7 @@
sub encode_json { Mojo::Util::encode 'UTF-8', _encode_value(shift) }
-sub false () {$FALSE}
+sub false () {JSON::PP::false}
sub from_json {
my $err = _decode(\my $value, shift, 1);
@@ -49,7 +47,7 @@
sub to_json { _encode_value(shift) }
-sub true () {$TRUE}
+sub true () {JSON::PP::true}
sub _decode {
my $valueref = shift;
@@ -197,10 +195,10 @@
if /\G([-]?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)/gc;
# True
- return $TRUE if /\Gtrue/gc;
+ return true() if /\Gtrue/gc;
# False
- return $FALSE if /\Gfalse/gc;
+ return false() if /\Gfalse/gc;
# Null
return undef if /\Gnull/gc;
@@ -240,7 +238,7 @@
# True or false
return $$value ? 'true' : 'false' if $ref eq 'SCALAR';
- return $value ? 'true' : 'false' if $ref eq 'Mojo::JSON::_Bool';
+ return $value ? 'true' : 'false' if $ref eq 'JSON::PP::Boolean';
# Blessed reference with TO_JSON method
if (blessed $value && (my $sub = $value->can('TO_JSON'))) {
@@ -277,10 +275,6 @@
die "$context\n";
}
-# Emulate boolean type
-package Mojo::JSON::_Bool;
-use overload '""' => sub { ${$_[0]} }, fallback => 1;
-
1;
=encoding utf8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/Parameters.pm new/Mojolicious-6.22/lib/Mojo/Parameters.pm
--- old/Mojolicious-6.20/lib/Mojo/Parameters.pm 2015-08-29 16:31:35.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/Parameters.pm 2015-09-22 19:59:35.000000000 +0200
@@ -21,7 +21,7 @@
if (ref $value eq 'ARRAY') { push @$old, $name => $_ // '' for @$value }
# Single value
- else { push @$old, $name => $value }
+ elsif (defined $value) { push @$old, $name => $value }
}
return $self;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/UserAgent/CookieJar.pm new/Mojolicious-6.22/lib/Mojo/UserAgent/CookieJar.pm
--- old/Mojolicious-6.20/lib/Mojo/UserAgent/CookieJar.pm 2015-09-15 18:55:10.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/UserAgent/CookieJar.pm 2015-09-18 22:06:45.000000000 +0200
@@ -168,11 +168,11 @@
# Ignore all cookies
$jar->ignore(sub { 1 });
- # Ignore cookies with domain "com"
+ # Ignore cookies for domains "com", "net" and "org"
$jar->ignore(sub {
my $cookie = shift;
return undef unless my $domain = $cookie->domain;
- return $domain eq 'com';
+ return $domain eq 'com' || $domain eq 'net' || $domain eq 'org';
});
=head2 max_cookie_size
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/UserAgent/Transactor.pm new/Mojolicious-6.22/lib/Mojo/UserAgent/Transactor.pm
--- old/Mojolicious-6.20/lib/Mojo/UserAgent/Transactor.pm 2015-08-29 13:17:09.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/UserAgent/Transactor.pm 2015-09-22 20:00:06.000000000 +0200
@@ -192,7 +192,7 @@
my @parts;
for my $name (sort keys %$form) {
- my $values = $form->{$name};
+ next unless defined(my $values = $form->{$name});
for my $value (ref $values eq 'ARRAY' ? @$values : ($values)) {
push @parts, my $part = Mojo::Content::Single->new;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojo/UserAgent.pm new/Mojolicious-6.22/lib/Mojo/UserAgent.pm
--- old/Mojolicious-6.20/lib/Mojo/UserAgent.pm 2015-09-15 18:45:39.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojo/UserAgent.pm 2015-09-18 14:30:58.000000000 +0200
@@ -717,7 +717,7 @@
L<Mojo::UserAgent::Transactor/"tx"> (except for the C<DELETE> method, which is
implied). You can also append a callback to perform requests non-blocking.
- $ua->delete('http://example.com' => sub {
+ $ua->delete('http://example.com' => json => {a => 'b'} => sub {
my ($ua, $tx) = @_;
say $tx->res->body;
});
@@ -737,7 +737,7 @@
for the C<GET> method, which is implied). You can also append a callback to
perform requests non-blocking.
- $ua->get('http://example.com' => sub {
+ $ua->get('http://example.com' => json => {a => 'b'} => sub {
my ($ua, $tx) = @_;
say $tx->res->body;
});
@@ -757,7 +757,7 @@
L<Mojo::UserAgent::Transactor/"tx"> (except for the C<HEAD> method, which is
implied). You can also append a callback to perform requests non-blocking.
- $ua->head('http://example.com' => sub {
+ $ua->head('http://example.com' => json => {a => 'b'} => sub {
my ($ua, $tx) = @_;
say $tx->res->body;
});
@@ -777,7 +777,7 @@
L<Mojo::UserAgent::Transactor/"tx"> (except for the C<OPTIONS> method, which is
implied). You can also append a callback to perform requests non-blocking.
- $ua->options('http://example.com' => sub {
+ $ua->options('http://example.com' => json => {a => 'b'} => sub {
my ($ua, $tx) = @_;
say $tx->res->body;
});
@@ -797,7 +797,7 @@
L<Mojo::UserAgent::Transactor/"tx"> (except for the C<PATCH> method, which is
implied). You can also append a callback to perform requests non-blocking.
- $ua->patch('http://example.com' => sub {
+ $ua->patch('http://example.com' => json => {a => 'b'} => sub {
my ($ua, $tx) = @_;
say $tx->res->body;
});
@@ -817,7 +817,7 @@
L<Mojo::UserAgent::Transactor/"tx"> (except for the C<POST> method, which is
implied). You can also append a callback to perform requests non-blocking.
- $ua->post('http://example.com' => sub {
+ $ua->post('http://example.com' => json => {a => 'b'} => sub {
my ($ua, $tx) = @_;
say $tx->res->body;
});
@@ -837,7 +837,7 @@
for the C<PUT> method, which is implied). You can also append a callback to
perform requests non-blocking.
- $ua->put('http://example.com' => sub {
+ $ua->put('http://example.com' => json => {a => 'b'} => sub {
my ($ua, $tx) = @_;
say $tx->res->body;
});
@@ -869,7 +869,7 @@
receive either a L<Mojo::Transaction::WebSocket> or L<Mojo::Transaction::HTTP>
object, depending on if the handshake was successful.
- $ua->websocket('wss://example.com/echo' => sub {
+ $ua->websocket('wss://example.com/echo' => ['v1.proto'] => sub {
my ($ua, $tx) = @_;
say 'WebSocket handshake failed!' and return unless $tx->is_websocket;
$tx->on(finish => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Mojolicious.pm new/Mojolicious-6.22/lib/Mojolicious.pm
--- old/Mojolicious-6.20/lib/Mojolicious.pm 2015-09-13 01:36:47.000000000 +0200
+++ new/Mojolicious-6.22/lib/Mojolicious.pm 2015-09-23 03:05:07.000000000 +0200
@@ -43,7 +43,7 @@
has validator => sub { Mojolicious::Validator->new };
our $CODENAME = 'Clinking Beer Mugs';
-our $VERSION = '6.20';
+our $VERSION = '6.22';
sub AUTOLOAD {
my $self = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/lib/Test/Mojo.pm new/Mojolicious-6.22/lib/Test/Mojo.pm
--- old/Mojolicious-6.20/lib/Test/Mojo.pm 2015-08-29 13:17:09.000000000 +0200
+++ new/Mojolicious-6.22/lib/Test/Mojo.pm 2015-09-21 22:13:57.000000000 +0200
@@ -701,7 +701,7 @@
# Run additional tests on the transaction
$t->get_ok('/foo')->status_is(200);
- is $t->tx->res->dom->at('input')->{value}, 'whatever', 'right value';
+ is $t->tx->res->dom->at('input')->val, 'whatever', 'right value';
=head2 head_ok
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/t/mojo/collection.t new/Mojolicious-6.22/t/mojo/collection.t
--- old/Mojolicious-6.20/t/mojo/collection.t 2015-08-29 01:31:10.000000000 +0200
+++ new/Mojolicious-6.22/t/mojo/collection.t 2015-09-25 22:40:28.000000000 +0200
@@ -46,6 +46,9 @@
is $collection->first(sub { shift() < 5 }), 4, 'right result';
is $collection->first(qr/[1-4]/), 4, 'right result';
is $collection->first(sub { ref $_ eq 'CODE' }), undef, 'no result';
+$collection = c(c(1, 2, 3), c(4, 5, 6), c(7, 8, 9));
+is_deeply $collection->first(first => sub { $_ == 5 })->to_array, [4, 5, 6],
+ 'right result';
$collection = c();
is $collection->first, undef, 'no result';
is $collection->first(sub {defined}), undef, 'no result';
@@ -69,6 +72,9 @@
'right elements';
is_deeply $collection->grep(sub { $_ < 1 })->to_array, [], 'no elements';
is_deeply $collection->grep(sub { $_ > 9 })->to_array, [], 'no elements';
+$collection = c(c(1, 2, 3), c(4, 5, 6), c(7, 8, 9));
+is_deeply $collection->grep(first => sub { $_ >= 5 })->flatten->to_array,
+ [4, 5, 6, 7, 8, 9], 'right result';
# join
$collection = c(1, 2, 3);
@@ -153,6 +159,12 @@
is_deeply $collection->uniq->to_array, [1, 2, 3, 4, 5], 'right result';
is_deeply $collection->uniq->reverse->uniq->to_array, [5, 4, 3, 2, 1],
'right result';
+$collection = c([1, 2, 3], [3, 2, 1], [3, 1, 2]);
+is_deeply $collection->uniq(sub { $_->[1] }), [[1, 2, 3], [3, 1, 2]],
+ 'right result';
+$collection = c(c(1, 2), c(1, 2), c(2, 1));
+is_deeply $collection->uniq(join => ',')->flatten->to_array, [1, 2, 2, 1],
+ 'right result';
# TO_JSON
is encode_json(c(1, 2, 3)), '[1,2,3]', 'right result';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/t/mojo/dom.t new/Mojolicious-6.22/t/mojo/dom.t
--- old/Mojolicious-6.20/t/mojo/dom.t 2015-08-29 01:31:15.000000000 +0200
+++ new/Mojolicious-6.22/t/mojo/dom.t 2015-09-25 01:00:02.000000000 +0200
@@ -1918,7 +1918,8 @@
ok $element->root->xml, 'XML mode active';
$dom->replace('<XMLTest2 /><XMLTest3 just="works" />');
ok $dom->xml, 'XML mode active';
-is $dom, '<XMLTest2 /><XMLTest3 just="works" />', 'right result';
+$dom->at('XMLTest2')->{foo} = undef;
+is $dom, '<XMLTest2 foo="foo" /><XMLTest3 just="works" />', 'right result';
# Ensure HTML semantics
ok !Mojo::DOM->new->xml(undef)->parse('<?xml version="1.0"?>')->xml,
@@ -2173,6 +2174,49 @@
is $dom->at('div pre code')->all_text(0), "like\n it\n really",
'right text';
+# Form values
+$dom = Mojo::DOM->new(<<EOF);
+<form action="/foo">
+ <p>Test</p>
+ <input type="text" name="a" value="A" />
+ <input type="checkbox" checked name="b" value="B">
+ <input type="radio" checked name="c" value="C">
+ <select multiple name="f">
+ <option value="F">G</option>
+ <optgroup>
+ <option>H</option>
+ <option selected>I</option>
+ </optgroup>
+ <option value="J" selected>K</option>
+ </select>
+ <select name="n"><option>N</option></select>
+ <select multiple name="q"><option>Q</option></select>
+ <select name="d">
+ <option selected>R</option>
+ <option selected>D</option>
+ </select>
+ <textarea name="m">M</textarea>
+ <button name="o" value="O">No!</button>
+ <input type="submit" name="p" value="P" />
+</form>
+EOF
+is $dom->at('p')->val, undef, 'no value';
+is $dom->at('input')->val, 'A', 'right value';
+is $dom->at('input:checked')->val, 'B', 'right value';
+is $dom->at('input:checked[type=radio]')->val, 'C', 'right value';
+is_deeply $dom->at('select')->val, ['I', 'J'], 'right values';
+is $dom->at('select option')->val, 'F', 'right value';
+is $dom->at('select optgroup option:not([selected])')->val, 'H', 'right value';
+is $dom->find('select')->[1]->at('option')->val, 'N', 'right value';
+is $dom->find('select')->[1]->val, undef, 'no value';
+is_deeply $dom->find('select')->[2]->val, undef, 'no value';
+is $dom->find('select')->[2]->at('option')->val, 'Q', 'right value';
+is_deeply $dom->find('select')->last->val, 'D', 'right value';
+is_deeply $dom->find('select')->last->at('option')->val, 'R', 'right value';
+is $dom->at('textarea')->val, 'M', 'right value';
+is $dom->at('button')->val, 'O', 'right value';
+is $dom->find('form input')->last->val, 'P', 'right value';
+
# PoCo example with whitespace sensitive text
$dom = Mojo::DOM->new(<<EOF);
<?xml version="1.0" encoding="UTF-8"?>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/t/mojo/home.t new/Mojolicious-6.22/t/mojo/home.t
--- old/Mojolicious-6.20/t/mojo/home.t 2015-08-29 01:31:16.000000000 +0200
+++ new/Mojolicious-6.22/t/mojo/home.t 2015-09-18 14:10:09.000000000 +0200
@@ -11,25 +11,25 @@
use Mojo::Home;
# ENV detection
+my $target = canonpath realpath cwd;
{
local $ENV{MOJO_HOME} = '.';
my $home = Mojo::Home->new->detect;
is_deeply [split /\\|\//, canonpath($home->to_string)],
- [split /\\|\//, canonpath(realpath cwd())], 'right path detected';
+ [split /\\|\//, $target], 'right path detected';
}
# Class detection
my $original = catdir splitdir $FindBin::Bin;
my $home = Mojo::Home->new->detect;
-my $target = realpath $original;
-is_deeply [split /\\|\//, $target], [split /\\|\//, $home],
+is_deeply [split /\\|\//, realpath $original], [split /\\|\//, $home],
'right path detected';
# Specific class detection
$INC{'MyClass.pm'} = 'MyClass.pm';
$home = Mojo::Home->new->detect('MyClass');
is_deeply [split /\\|\//, canonpath($home->to_string)],
- [split /\\|\//, canonpath(realpath cwd())], 'right path detected';
+ [split /\\|\//, $target], 'right path detected';
# FindBin detection
$home = Mojo::Home->new->detect(undef);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/t/mojo/parameters.t new/Mojolicious-6.22/t/mojo/parameters.t
--- old/Mojolicious-6.20/t/mojo/parameters.t 2015-08-29 01:31:20.000000000 +0200
+++ new/Mojolicious-6.22/t/mojo/parameters.t 2015-09-22 20:04:07.000000000 +0200
@@ -51,7 +51,7 @@
# Append
$params = Mojo::Parameters->new('q=1');
-$params->append(a => 4, a => 5, b => 6, b => 7);
+$params->append(a => 4, a => 5, b => 6, b => 7, c => undef, c => []);
is_deeply $params->to_hash, {a => [4, 5], b => [6, 7], q => 1},
'right structure';
is_deeply $params->names, [qw(a b q)], 'right structure';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/t/mojo/transactor.t new/Mojolicious-6.22/t/mojo/transactor.t
--- old/Mojolicious-6.20/t/mojo/transactor.t 2015-08-29 01:31:29.000000000 +0200
+++ new/Mojolicious-6.22/t/mojo/transactor.t 2015-09-23 00:47:25.000000000 +0200
@@ -150,7 +150,7 @@
$tx
= $t->tx(POST => 'http://example.com/foo' =>
{Accept => '*/*', 'Content-Type' => 'application/mojo-form'} => form =>
- {test => 123} => charset => 'UTF-8');
+ {test => 123, nothing => undef} => charset => 'UTF-8');
is $tx->req->url->to_abs, 'http://example.com/foo', 'right URL';
is $tx->req->method, 'POST', 'right method';
is $tx->req->headers->content_type, 'application/mojo-form',
@@ -159,8 +159,10 @@
is $tx->req->body, 'test=123', 'right content';
# Multipart form
-$tx = $t->tx(POST => 'http://example.com/foo' =>
- {'Content-Type' => 'multipart/form-data'} => form => {test => 123});
+$tx
+ = $t->tx(POST => 'http://example.com/foo' =>
+ {'Content-Type' => 'multipart/form-data'} => form =>
+ {test => 123, nothing => undef});
is $tx->req->url->to_abs, 'http://example.com/foo', 'right URL';
is $tx->req->method, 'POST', 'right method';
is $tx->req->headers->content_type, 'multipart/form-data',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/t/mojolicious/restful_lite_app.t new/Mojolicious-6.22/t/mojolicious/restful_lite_app.t
--- old/Mojolicious-6.20/t/mojolicious/restful_lite_app.t 2015-08-29 01:31:46.000000000 +0200
+++ new/Mojolicious-6.22/t/mojolicious/restful_lite_app.t 2015-09-24 20:28:04.000000000 +0200
@@ -3,6 +3,7 @@
BEGIN { $ENV{MOJO_REACTOR} = 'Mojo::Reactor::Poll' }
use Test::More;
+use Mojo::JSON qw(false true);
use Mojolicious::Lite;
use Test::Mojo;
@@ -88,14 +89,14 @@
->status_is(200)->json_is({best => 'txt'});
# Nothing
-$t->get_ok('/wants_json')->status_is(200)->json_is({wants_json => 0});
+$t->get_ok('/wants_json')->status_is(200)->json_is({wants_json => false});
# Unsupported
-$t->get_ok('/wants_json.xml')->status_is(200)->json_is({wants_json => 0});
+$t->get_ok('/wants_json.xml')->status_is(200)->json_is({wants_json => false});
# Accept "json"
$t->get_ok('/wants_json' => {Accept => 'application/json'})->status_is(200)
- ->json_is({wants_json => 1});
+ ->json_is({wants_json => true});
# Ajax
my $ajax = 'text/html;q=0.1,application/json';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-6.20/t/mojolicious/validation_lite_app.t new/Mojolicious-6.22/t/mojolicious/validation_lite_app.t
--- old/Mojolicious-6.20/t/mojolicious/validation_lite_app.t 2015-08-29 01:31:51.000000000 +0200
+++ new/Mojolicious-6.22/t/mojolicious/validation_lite_app.t 2015-09-23 00:07:33.000000000 +0200
@@ -263,7 +263,7 @@
->element_exists('[value=bar]')->element_exists_not('.field-with-error');
# Correct CSRF token
-my $token = $t->ua->get('/forgery')->res->dom->at('[name=csrf_token]')->{value};
+my $token = $t->ua->get('/forgery')->res->dom->at('[name=csrf_token]')->val;
$t->post_ok('/forgery' => form => {csrf_token => $token, foo => 'bar'})
->status_is(200)->content_unlike(qr/Wrong or missing CSRF token!/)
->element_exists('[value=bar]')->element_exists_not('.field-with-error');
1
0
Hello community,
here is the log from the commit of package gwenview5 for openSUSE:Factory checked in at 2015-09-30 05:52:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gwenview5 (Old)
and /work/SRC/openSUSE:Factory/.gwenview5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gwenview5"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gwenview5/gwenview5.changes 2015-09-03 18:07:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gwenview5.new/gwenview5.changes 2015-09-30 05:52:40.000000000 +0200
@@ -1,0 +2,8 @@
+Sun Sep 13 18:58:13 UTC 2015 - tittiatcoke(a)gmail.com
+
+- Update to KDE Applications 15.08.1
+ * KDE Applications 15.08.1
+ * https://www.kde.org/announcements/announce-applications-15.08.1.php
+
+
+-------------------------------------------------------------------
Old:
----
gwenview-15.08.0.tar.xz
New:
----
gwenview-15.08.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gwenview5.spec ++++++
--- /var/tmp/diff_new_pack.B4nELC/_old 2015-09-30 05:52:41.000000000 +0200
+++ /var/tmp/diff_new_pack.B4nELC/_new 2015-09-30 05:52:41.000000000 +0200
@@ -18,7 +18,7 @@
%define rname gwenview
Name: gwenview5
-Version: 15.08.0
+Version: 15.08.1
Release: 0
Summary: Simple Image Viewer for KDE
License: GPL-2.0+
@@ -65,7 +65,7 @@
%install
%kf5_makeinstall -C build
- %suse_update_desktop_file -r org.kde.gwenview Graphics RasterGraphics Viewer
+ %suse_update_desktop_file -r org.kde.gwenview Graphics RasterGraphics Viewer KDE
%post -p /sbin/ldconfig
++++++ gwenview-15.08.0.tar.xz -> gwenview-15.08.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenview-15.08.0/CMakeLists.txt new/gwenview-15.08.1/CMakeLists.txt
--- old/gwenview-15.08.0/CMakeLists.txt 2015-08-12 01:15:24.000000000 +0200
+++ new/gwenview-15.08.1/CMakeLists.txt 2015-09-10 00:45:29.000000000 +0200
@@ -3,7 +3,7 @@
# KDE Application Version, managed by release script
set (KDE_APPLICATIONS_VERSION_MAJOR "15")
set (KDE_APPLICATIONS_VERSION_MINOR "08")
-set (KDE_APPLICATIONS_VERSION_MICRO "0")
+set (KDE_APPLICATIONS_VERSION_MICRO "1")
set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenview-15.08.0/app/gwenview.appdata.xml new/gwenview-15.08.1/app/gwenview.appdata.xml
--- old/gwenview-15.08.0/app/gwenview.appdata.xml 2015-08-12 01:15:24.000000000 +0200
+++ new/gwenview-15.08.1/app/gwenview.appdata.xml 2015-09-10 00:45:29.000000000 +0200
@@ -218,7 +218,7 @@
<li xml:lang="zh-TW">可以是單獨的應用程式,也可以嵌入在 Konqueror 瀏覽器中</li>
<li>Can be extended using KIPI plugins.</li>
<li xml:lang="ast">Pue estendese col usu de complementos KIPI.</li>
- <li xml:lang="ca">Es pot estendre emprant els connectors KIPI</li>
+ <li xml:lang="ca">Es pot estendre emprant els connectors KIPI.</li>
<li xml:lang="de">Kann durch KIPI-Module erweitert werden.</li>
<li xml:lang="el">Μπορεί να επεκταθεί με πρόσθετα KIPI.</li>
<li xml:lang="en-GB">Can be extended using KIPI plugins.</li>
1
0