##// END OF EJS Templates
Spec file ready for rpm packaging....
jeandet -
r13:c0cb4ee23d25 default
parent child
Show More
@@ -0,0 +1,19
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Copyright 2014 Alexis Jeandet <alexis.jeandet@member.fsf.org> -->
3 <application>
4 <id type="desktop">QLop.desktop</id>
5 <metadata_license>CC0-1.0</metadata_license>
6 <project_license>GPL-2.0+</project_license>
7 <name>QLop</name>
8 <summary>QLop is an interactive plotting software.</summary>
9 <description>
10 <p>
11 QLop is an interactive plotting software.
12 </p>
13 </description>
14 <screenshots>
15 <screenshot type="default" width="800" height="600">https://hephaistos.lpp.polytechnique.fr/redmine/attachments/download/384/SocExplorer_ScreenShot1.png</screenshot>
16 </screenshots>
17 <url type="homepage">https://hephaistos.lpp.polytechnique.fr/redmine/projects/qlop</url>
18 <updatecontact>alexis.jeandet@member.fsf.org</updatecontact>
19 </application>
@@ -0,0 +1,17
1 [Desktop Entry]
2 Version=1.0
3 Name=QLop
4 Name[en_US]=QLop
5
6 Type=Application
7 GenericName=QLop
8
9 Comment=QLop is an interactive plotting software.
10
11 Exec=QLop -e %U
12 Icon=/usr/share/QLop/QLop.png
13 Terminal=false
14
15 Categories=Qt;Education;Science;
16
17 MimeType=text/x-python;
@@ -0,0 +1,286
1 %global upstream_name qlop-0.1-1
2
3 Name: qlop
4 Version: 0.1
5 Release: 1%{?dist}
6 Summary: QLop is an interactive plotting software, this is an early development preview of what this software will be.
7 Group: Development/Tools
8 License: GPLv2+
9 URL: https://hephaistos.lpp.polytechnique.fr/redmine/projects/qlop
10 Source0: https://hephaistos.lpp.polytechnique.fr/redmine/attachments/download/376/%{upstream_name}.zip
11
12 BuildRequires: python2-devel
13 BuildRequires: qt5-qtbase-devel
14 BuildRequires: qt5-qtwebkit-devel
15 BuildRequires: qt5-qttools-static
16 BuildRequires: qt5-qttools-devel
17 BuildRequires: qt5-qtsvg-devel
18 BuildRequires: qt5-qtxmlpatterns-devel
19 BuildRequires: qt5-qtmultimedia-devel
20 BuildRequires: qt5-pythonqt-devel
21 BuildRequires: appdata-tools
22 BuildRequires: desktop-file-utils
23 BuildRequires: fftw-devel
24
25 Requires(post): python2
26 Requires(post): qt5-qtbase
27 Requires(post): qt5-qtwebkit
28 Requires(post): qt5-qtsvg
29 Requires(post): qt5-qtxmlpatterns
30 Requires(post): qt5-pythonqt
31 Requires(post): fftw
32
33 Provides: qlop = 0.1-1
34
35 %description
36 QLop is an interactive plotting software, this is an early development preview of what this software will be.
37
38 %prep
39 %setup -q -n %{upstream_name}
40
41
42
43 %build
44 %{_qt5_qmake}
45
46 make %{?_smp_mflags}
47
48 %install
49 make install INSTALL_ROOT=%{buildroot}
50 #appdata-validate --nonet %{buildroot}/%{_datadir}/appdata/QLop.appdata.xml
51 #desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/QLop.desktop
52
53 %post -p /sbin/ldconfig
54
55 %postun -p /sbin/ldconfig
56
57 %files
58 /etc/QLop/python/PygmentsHighlighter.py
59 /etc/QLop/python/PygmentsHighlighter.pyc
60 /etc/QLop/python/PygmentsHighlighter.pyo
61 /etc/QLop/python/PythonCompleter.py
62 /etc/QLop/python/PythonCompleter.pyc
63 /etc/QLop/python/PythonCompleter.pyo
64 /etc/QLop/python/module_completion.py
65 /etc/QLop/python/module_completion.pyc
66 /etc/QLop/python/module_completion.pyo
67 /etc/QLop/python/pygments/__init__.py
68 /etc/QLop/python/pygments/__init__.pyc
69 /etc/QLop/python/pygments/__init__.pyo
70 /etc/QLop/python/pygments/cmdline.py
71 /etc/QLop/python/pygments/cmdline.pyc
72 /etc/QLop/python/pygments/cmdline.pyo
73 /etc/QLop/python/pygments/console.py
74 /etc/QLop/python/pygments/console.pyc
75 /etc/QLop/python/pygments/console.pyo
76 /etc/QLop/python/pygments/filter.py
77 /etc/QLop/python/pygments/filter.pyc
78 /etc/QLop/python/pygments/filter.pyo
79 /etc/QLop/python/pygments/filters/__init__.py
80 /etc/QLop/python/pygments/filters/__init__.pyc
81 /etc/QLop/python/pygments/filters/__init__.pyo
82 /etc/QLop/python/pygments/formatter.py
83 /etc/QLop/python/pygments/formatter.pyc
84 /etc/QLop/python/pygments/formatter.pyo
85 /etc/QLop/python/pygments/formatters/__init__.py
86 /etc/QLop/python/pygments/formatters/__init__.pyc
87 /etc/QLop/python/pygments/formatters/__init__.pyo
88 /etc/QLop/python/pygments/formatters/_mapping.py
89 /etc/QLop/python/pygments/formatters/_mapping.pyc
90 /etc/QLop/python/pygments/formatters/_mapping.pyo
91 /etc/QLop/python/pygments/formatters/bbcode.py
92 /etc/QLop/python/pygments/formatters/bbcode.pyc
93 /etc/QLop/python/pygments/formatters/bbcode.pyo
94 /etc/QLop/python/pygments/formatters/html.py
95 /etc/QLop/python/pygments/formatters/html.pyc
96 /etc/QLop/python/pygments/formatters/html.pyo
97 /etc/QLop/python/pygments/formatters/img.py
98 /etc/QLop/python/pygments/formatters/img.pyc
99 /etc/QLop/python/pygments/formatters/img.pyo
100 /etc/QLop/python/pygments/formatters/latex.py
101 /etc/QLop/python/pygments/formatters/latex.pyc
102 /etc/QLop/python/pygments/formatters/latex.pyo
103 /etc/QLop/python/pygments/formatters/other.py
104 /etc/QLop/python/pygments/formatters/other.pyc
105 /etc/QLop/python/pygments/formatters/other.pyo
106 /etc/QLop/python/pygments/formatters/rtf.py
107 /etc/QLop/python/pygments/formatters/rtf.pyc
108 /etc/QLop/python/pygments/formatters/rtf.pyo
109 /etc/QLop/python/pygments/formatters/svg.py
110 /etc/QLop/python/pygments/formatters/svg.pyc
111 /etc/QLop/python/pygments/formatters/svg.pyo
112 /etc/QLop/python/pygments/formatters/terminal.py
113 /etc/QLop/python/pygments/formatters/terminal.pyc
114 /etc/QLop/python/pygments/formatters/terminal.pyo
115 /etc/QLop/python/pygments/formatters/terminal256.py
116 /etc/QLop/python/pygments/formatters/terminal256.pyc
117 /etc/QLop/python/pygments/formatters/terminal256.pyo
118 /etc/QLop/python/pygments/lexer.py
119 /etc/QLop/python/pygments/lexer.pyc
120 /etc/QLop/python/pygments/lexer.pyo
121 /etc/QLop/python/pygments/lexers/__init__.py
122 /etc/QLop/python/pygments/lexers/__init__.pyc
123 /etc/QLop/python/pygments/lexers/__init__.pyo
124 /etc/QLop/python/pygments/lexers/_asybuiltins.py
125 /etc/QLop/python/pygments/lexers/_asybuiltins.pyc
126 /etc/QLop/python/pygments/lexers/_asybuiltins.pyo
127 /etc/QLop/python/pygments/lexers/_clbuiltins.py
128 /etc/QLop/python/pygments/lexers/_clbuiltins.pyc
129 /etc/QLop/python/pygments/lexers/_clbuiltins.pyo
130 /etc/QLop/python/pygments/lexers/_luabuiltins.py
131 /etc/QLop/python/pygments/lexers/_luabuiltins.pyc
132 /etc/QLop/python/pygments/lexers/_luabuiltins.pyo
133 /etc/QLop/python/pygments/lexers/_mapping.py
134 /etc/QLop/python/pygments/lexers/_mapping.pyc
135 /etc/QLop/python/pygments/lexers/_mapping.pyo
136 /etc/QLop/python/pygments/lexers/_phpbuiltins.py
137 /etc/QLop/python/pygments/lexers/_phpbuiltins.pyc
138 /etc/QLop/python/pygments/lexers/_phpbuiltins.pyo
139 /etc/QLop/python/pygments/lexers/_postgres_builtins.py
140 /etc/QLop/python/pygments/lexers/_postgres_builtins.pyc
141 /etc/QLop/python/pygments/lexers/_postgres_builtins.pyo
142 /etc/QLop/python/pygments/lexers/_scilab_builtins.py
143 /etc/QLop/python/pygments/lexers/_scilab_builtins.pyc
144 /etc/QLop/python/pygments/lexers/_scilab_builtins.pyo
145 /etc/QLop/python/pygments/lexers/_vimbuiltins.py
146 /etc/QLop/python/pygments/lexers/_vimbuiltins.pyc
147 /etc/QLop/python/pygments/lexers/_vimbuiltins.pyo
148 /etc/QLop/python/pygments/lexers/agile.py
149 /etc/QLop/python/pygments/lexers/agile.pyc
150 /etc/QLop/python/pygments/lexers/agile.pyo
151 /etc/QLop/python/pygments/lexers/asm.py
152 /etc/QLop/python/pygments/lexers/asm.pyc
153 /etc/QLop/python/pygments/lexers/asm.pyo
154 /etc/QLop/python/pygments/lexers/compiled.py
155 /etc/QLop/python/pygments/lexers/compiled.pyc
156 /etc/QLop/python/pygments/lexers/compiled.pyo
157 /etc/QLop/python/pygments/lexers/dotnet.py
158 /etc/QLop/python/pygments/lexers/dotnet.pyc
159 /etc/QLop/python/pygments/lexers/dotnet.pyo
160 /etc/QLop/python/pygments/lexers/functional.py
161 /etc/QLop/python/pygments/lexers/functional.pyc
162 /etc/QLop/python/pygments/lexers/functional.pyo
163 /etc/QLop/python/pygments/lexers/hdl.py
164 /etc/QLop/python/pygments/lexers/hdl.pyc
165 /etc/QLop/python/pygments/lexers/hdl.pyo
166 /etc/QLop/python/pygments/lexers/jvm.py
167 /etc/QLop/python/pygments/lexers/jvm.pyc
168 /etc/QLop/python/pygments/lexers/jvm.pyo
169 /etc/QLop/python/pygments/lexers/math.py
170 /etc/QLop/python/pygments/lexers/math.pyc
171 /etc/QLop/python/pygments/lexers/math.pyo
172 /etc/QLop/python/pygments/lexers/other.py
173 /etc/QLop/python/pygments/lexers/other.pyc
174 /etc/QLop/python/pygments/lexers/other.pyo
175 /etc/QLop/python/pygments/lexers/parsers.py
176 /etc/QLop/python/pygments/lexers/parsers.pyc
177 /etc/QLop/python/pygments/lexers/parsers.pyo
178 /etc/QLop/python/pygments/lexers/shell.py
179 /etc/QLop/python/pygments/lexers/shell.pyc
180 /etc/QLop/python/pygments/lexers/shell.pyo
181 /etc/QLop/python/pygments/lexers/special.py
182 /etc/QLop/python/pygments/lexers/special.pyc
183 /etc/QLop/python/pygments/lexers/special.pyo
184 /etc/QLop/python/pygments/lexers/sql.py
185 /etc/QLop/python/pygments/lexers/sql.pyc
186 /etc/QLop/python/pygments/lexers/sql.pyo
187 /etc/QLop/python/pygments/lexers/templates.py
188 /etc/QLop/python/pygments/lexers/templates.pyc
189 /etc/QLop/python/pygments/lexers/templates.pyo
190 /etc/QLop/python/pygments/lexers/text.py
191 /etc/QLop/python/pygments/lexers/text.pyc
192 /etc/QLop/python/pygments/lexers/text.pyo
193 /etc/QLop/python/pygments/lexers/web.py
194 /etc/QLop/python/pygments/lexers/web.pyc
195 /etc/QLop/python/pygments/lexers/web.pyo
196 /etc/QLop/python/pygments/plugin.py
197 /etc/QLop/python/pygments/plugin.pyc
198 /etc/QLop/python/pygments/plugin.pyo
199 /etc/QLop/python/pygments/scanner.py
200 /etc/QLop/python/pygments/scanner.pyc
201 /etc/QLop/python/pygments/scanner.pyo
202 /etc/QLop/python/pygments/style.py
203 /etc/QLop/python/pygments/style.pyc
204 /etc/QLop/python/pygments/style.pyo
205 /etc/QLop/python/pygments/styles/__init__.py
206 /etc/QLop/python/pygments/styles/__init__.pyc
207 /etc/QLop/python/pygments/styles/__init__.pyo
208 /etc/QLop/python/pygments/styles/autumn.py
209 /etc/QLop/python/pygments/styles/autumn.pyc
210 /etc/QLop/python/pygments/styles/autumn.pyo
211 /etc/QLop/python/pygments/styles/borland.py
212 /etc/QLop/python/pygments/styles/borland.pyc
213 /etc/QLop/python/pygments/styles/borland.pyo
214 /etc/QLop/python/pygments/styles/bw.py
215 /etc/QLop/python/pygments/styles/bw.pyc
216 /etc/QLop/python/pygments/styles/bw.pyo
217 /etc/QLop/python/pygments/styles/colorful.py
218 /etc/QLop/python/pygments/styles/colorful.pyc
219 /etc/QLop/python/pygments/styles/colorful.pyo
220 /etc/QLop/python/pygments/styles/default.py
221 /etc/QLop/python/pygments/styles/default.pyc
222 /etc/QLop/python/pygments/styles/default.pyo
223 /etc/QLop/python/pygments/styles/emacs.py
224 /etc/QLop/python/pygments/styles/emacs.pyc
225 /etc/QLop/python/pygments/styles/emacs.pyo
226 /etc/QLop/python/pygments/styles/friendly.py
227 /etc/QLop/python/pygments/styles/friendly.pyc
228 /etc/QLop/python/pygments/styles/friendly.pyo
229 /etc/QLop/python/pygments/styles/fruity.py
230 /etc/QLop/python/pygments/styles/fruity.pyc
231 /etc/QLop/python/pygments/styles/fruity.pyo
232 /etc/QLop/python/pygments/styles/manni.py
233 /etc/QLop/python/pygments/styles/manni.pyc
234 /etc/QLop/python/pygments/styles/manni.pyo
235 /etc/QLop/python/pygments/styles/monokai.py
236 /etc/QLop/python/pygments/styles/monokai.pyc
237 /etc/QLop/python/pygments/styles/monokai.pyo
238 /etc/QLop/python/pygments/styles/murphy.py
239 /etc/QLop/python/pygments/styles/murphy.pyc
240 /etc/QLop/python/pygments/styles/murphy.pyo
241 /etc/QLop/python/pygments/styles/native.py
242 /etc/QLop/python/pygments/styles/native.pyc
243 /etc/QLop/python/pygments/styles/native.pyo
244 /etc/QLop/python/pygments/styles/pastie.py
245 /etc/QLop/python/pygments/styles/pastie.pyc
246 /etc/QLop/python/pygments/styles/pastie.pyo
247 /etc/QLop/python/pygments/styles/perldoc.py
248 /etc/QLop/python/pygments/styles/perldoc.pyc
249 /etc/QLop/python/pygments/styles/perldoc.pyo
250 /etc/QLop/python/pygments/styles/rrt.py
251 /etc/QLop/python/pygments/styles/rrt.pyc
252 /etc/QLop/python/pygments/styles/rrt.pyo
253 /etc/QLop/python/pygments/styles/tango.py
254 /etc/QLop/python/pygments/styles/tango.pyc
255 /etc/QLop/python/pygments/styles/tango.pyo
256 /etc/QLop/python/pygments/styles/trac.py
257 /etc/QLop/python/pygments/styles/trac.pyc
258 /etc/QLop/python/pygments/styles/trac.pyo
259 /etc/QLop/python/pygments/styles/vim.py
260 /etc/QLop/python/pygments/styles/vim.pyc
261 /etc/QLop/python/pygments/styles/vim.pyo
262 /etc/QLop/python/pygments/styles/vs.py
263 /etc/QLop/python/pygments/styles/vs.pyc
264 /etc/QLop/python/pygments/styles/vs.pyo
265 /etc/QLop/python/pygments/token.py
266 /etc/QLop/python/pygments/token.pyc
267 /etc/QLop/python/pygments/token.pyo
268 /etc/QLop/python/pygments/unistring.py
269 /etc/QLop/python/pygments/unistring.pyc
270 /etc/QLop/python/pygments/unistring.pyo
271 /etc/QLop/python/pygments/util.py
272 /etc/QLop/python/pygments/util.pyc
273 /etc/QLop/python/pygments/util.pyo
274 /usr/bin/QLop
275 /usr/share/QLop/QLop.png
276 /usr/share/QLop/QLop.svg
277 /usr/share/appdata/QLop.appdata.xml
278 /usr/share/applications/QLop.desktop
279
280
281 %changelog
282 * Wed Apr 8 2015 Alexis Jeandet <alexis.jeandet@member.fsf.org> - 0.1
283 - Initial Fedora packaging
284
285 * Fri Apr 3 2015 Alexis Jeandet <alexis.jeandet@member.fsf.org> - 0.1
286 - Initial Fedora packaging
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,488
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4 <svg
5 xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
6 xmlns:dc="http://purl.org/dc/elements/1.1/"
7 xmlns:cc="http://creativecommons.org/ns#"
8 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9 xmlns:svg="http://www.w3.org/2000/svg"
10 xmlns="http://www.w3.org/2000/svg"
11 xmlns:xlink="http://www.w3.org/1999/xlink"
12 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14 width="100mm"
15 height="100mm"
16 viewBox="0 0 35.433071 35.433071"
17 id="svg2"
18 version="1.1"
19 inkscape:version="0.91 r13725"
20 sodipodi:docname="Qlop.svg">
21 <defs
22 id="defs4">
23 <linearGradient
24 inkscape:collect="always"
25 id="linearGradient4236">
26 <stop
27 style="stop-color:#ffffff;stop-opacity:1;"
28 offset="0"
29 id="stop4238" />
30 <stop
31 style="stop-color:#ffffff;stop-opacity:0;"
32 offset="1"
33 id="stop4240" />
34 </linearGradient>
35 <linearGradient
36 inkscape:collect="always"
37 id="linearGradient4198">
38 <stop
39 style="stop-color:#6e3175;stop-opacity:1;"
40 offset="0"
41 id="stop4200" />
42 <stop
43 style="stop-color:#6e3175;stop-opacity:0;"
44 offset="1"
45 id="stop4202" />
46 </linearGradient>
47 <linearGradient
48 inkscape:collect="always"
49 id="linearGradient4190">
50 <stop
51 style="stop-color:#6e3175;stop-opacity:1;"
52 offset="0"
53 id="stop4192" />
54 <stop
55 style="stop-color:#6e3175;stop-opacity:0;"
56 offset="1"
57 id="stop4194" />
58 </linearGradient>
59 <linearGradient
60 inkscape:collect="always"
61 id="linearGradient4182">
62 <stop
63 style="stop-color:#307679;stop-opacity:1;"
64 offset="0"
65 id="stop4184" />
66 <stop
67 style="stop-color:#307679;stop-opacity:0;"
68 offset="1"
69 id="stop4186" />
70 </linearGradient>
71 <linearGradient
72 inkscape:collect="always"
73 id="linearGradient5826">
74 <stop
75 style="stop-color:#000000;stop-opacity:1;"
76 offset="0"
77 id="stop5828" />
78 <stop
79 id="stop5834"
80 offset="0.35667446"
81 style="stop-color:#000000;stop-opacity:0.67058824;" />
82 <stop
83 style="stop-color:#000000;stop-opacity:0;"
84 offset="1"
85 id="stop5830" />
86 </linearGradient>
87 <linearGradient
88 id="linearGradient4348"
89 osb:paint="gradient">
90 <stop
91 style="stop-color:#000000;stop-opacity:1;"
92 offset="0"
93 id="stop4350" />
94 <stop
95 style="stop-color:#000000;stop-opacity:0;"
96 offset="1"
97 id="stop4352" />
98 </linearGradient>
99 <linearGradient
100 inkscape:collect="always"
101 id="linearGradient4298">
102 <stop
103 style="stop-color:#000000;stop-opacity:1;"
104 offset="0"
105 id="stop4300" />
106 <stop
107 style="stop-color:#000000;stop-opacity:0;"
108 offset="1"
109 id="stop4302" />
110 </linearGradient>
111 <linearGradient
112 inkscape:collect="always"
113 id="linearGradient4280">
114 <stop
115 style="stop-color:#000000;stop-opacity:1;"
116 offset="0"
117 id="stop4282" />
118 <stop
119 style="stop-color:#000000;stop-opacity:0;"
120 offset="1"
121 id="stop4284" />
122 </linearGradient>
123 <linearGradient
124 inkscape:collect="always"
125 id="linearGradient4272">
126 <stop
127 style="stop-color:#000000;stop-opacity:1;"
128 offset="0"
129 id="stop4274" />
130 <stop
131 style="stop-color:#000000;stop-opacity:0;"
132 offset="1"
133 id="stop4276" />
134 </linearGradient>
135 <linearGradient
136 inkscape:collect="always"
137 xlink:href="#linearGradient4272"
138 id="linearGradient4278"
139 x1="22.353247"
140 y1="1037.531"
141 x2="34.886586"
142 y2="1034.4952"
143 gradientUnits="userSpaceOnUse"
144 gradientTransform="translate(0,0.9375)" />
145 <linearGradient
146 inkscape:collect="always"
147 xlink:href="#linearGradient4280"
148 id="linearGradient4286"
149 x1="26.537989"
150 y1="1042.91"
151 x2="35.785434"
152 y2="1040.0529"
153 gradientUnits="userSpaceOnUse"
154 gradientTransform="translate(0,0.9375)" />
155 <linearGradient
156 inkscape:collect="always"
157 xlink:href="#linearGradient4298"
158 id="linearGradient4304"
159 x1="27.908695"
160 y1="1029.3839"
161 x2="33.044159"
162 y2="1029.093"
163 gradientUnits="userSpaceOnUse"
164 gradientTransform="matrix(1.0510345,0,0,1.0510345,-384.49904,-74.783744)" />
165 <linearGradient
166 inkscape:collect="always"
167 xlink:href="#linearGradient5826"
168 id="linearGradient5832"
169 x1="-347.26422"
170 y1="1005.4009"
171 x2="-349.13544"
172 y2="1005.644"
173 gradientUnits="userSpaceOnUse"
174 gradientTransform="translate(-0.6330508,1.184499)" />
175 <linearGradient
176 inkscape:collect="always"
177 xlink:href="#linearGradient4182"
178 id="linearGradient4188"
179 x1="64.876755"
180 y1="-23.721519"
181 x2="-0.00012969971"
182 y2="34.778481"
183 gradientUnits="userSpaceOnUse" />
184 <linearGradient
185 inkscape:collect="always"
186 xlink:href="#linearGradient4190"
187 id="linearGradient4196"
188 x1="2.5877485"
189 y1="1050.8972"
190 x2="2.6099038"
191 y2="1017.0847"
192 gradientUnits="userSpaceOnUse"
193 gradientTransform="translate(-0.18782523,0.04419417)" />
194 <linearGradient
195 inkscape:collect="always"
196 xlink:href="#linearGradient4198"
197 id="linearGradient4204"
198 x1="0.0043595922"
199 y1="1049.7626"
200 x2="35.45358"
201 y2="1049.7626"
202 gradientUnits="userSpaceOnUse" />
203 <linearGradient
204 inkscape:collect="always"
205 xlink:href="#linearGradient4236"
206 id="linearGradient4242"
207 x1="-0.032693833"
208 y1="1049.7988"
209 x2="35.631543"
210 y2="1049.7988"
211 gradientUnits="userSpaceOnUse" />
212 <linearGradient
213 inkscape:collect="always"
214 xlink:href="#linearGradient4298"
215 id="linearGradient4304-3"
216 x1="27.908695"
217 y1="1029.3839"
218 x2="33.044159"
219 y2="1029.093"
220 gradientUnits="userSpaceOnUse"
221 gradientTransform="matrix(1.0510345,0,0,1.0510345,-383.20759,-77.023195)" />
222 <linearGradient
223 gradientTransform="translate(0.65840122,-1.0549257)"
224 inkscape:collect="always"
225 xlink:href="#linearGradient5826"
226 id="linearGradient5832-4"
227 x1="-347.26422"
228 y1="1005.4009"
229 x2="-349.13544"
230 y2="1005.644"
231 gradientUnits="userSpaceOnUse" />
232 <linearGradient
233 inkscape:collect="always"
234 xlink:href="#linearGradient4298"
235 id="linearGradient4287"
236 x1="27.908695"
237 y1="1029.3839"
238 x2="33.044159"
239 y2="1029.093"
240 gradientUnits="userSpaceOnUse"
241 gradientTransform="matrix(1.0510345,0,0,1.0510345,-383.86599,-75.968243)" />
242 <linearGradient
243 inkscape:collect="always"
244 xlink:href="#linearGradient5826"
245 id="linearGradient4295"
246 x1="-347.26422"
247 y1="1005.4009"
248 x2="-349.13544"
249 y2="1005.644"
250 gradientUnits="userSpaceOnUse" />
251 <linearGradient
252 inkscape:collect="always"
253 xlink:href="#linearGradient4298"
254 id="linearGradient4305"
255 x1="27.908695"
256 y1="1029.3839"
257 x2="33.044159"
258 y2="1029.093"
259 gradientUnits="userSpaceOnUse"
260 gradientTransform="matrix(1.0510345,0,0,1.0510345,-383.86599,-75.968243)" />
261 <linearGradient
262 inkscape:collect="always"
263 xlink:href="#linearGradient5826"
264 id="linearGradient4313"
265 x1="-347.26422"
266 y1="1005.4009"
267 x2="-349.13544"
268 y2="1005.644"
269 gradientUnits="userSpaceOnUse" />
270 </defs>
271 <sodipodi:namedview
272 id="base"
273 pagecolor="#ffffff"
274 bordercolor="#666666"
275 borderopacity="1.0"
276 inkscape:pageopacity="0.0"
277 inkscape:pageshadow="2"
278 inkscape:zoom="16"
279 inkscape:cx="25.523417"
280 inkscape:cy="5.6500742"
281 inkscape:document-units="px"
282 inkscape:current-layer="layer1"
283 showgrid="false"
284 inkscape:window-width="1920"
285 inkscape:window-height="1014"
286 inkscape:window-x="0"
287 inkscape:window-y="27"
288 inkscape:window-maximized="1" />
289 <metadata
290 id="metadata7">
291 <rdf:RDF>
292 <cc:Work
293 rdf:about="">
294 <dc:format>image/svg+xml</dc:format>
295 <dc:type
296 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
297 <dc:title />
298 </cc:Work>
299 </rdf:RDF>
300 </metadata>
301 <g
302 inkscape:groupmode="layer"
303 id="layer2"
304 inkscape:label="Calque 2">
305 <rect
306 style="opacity:1;fill:url(#linearGradient4188);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-opacity:1;stroke-width:1.7;stroke-miterlimit:4;stroke-dasharray:none;stroke-linejoin:round;stroke-linecap:square"
307 id="rect5808"
308 width="35.435619"
309 height="35.425091"
310 x="0.0017505998"
311 y="0.0034367263" />
312 <path
313 transform="translate(0,-1016.9291)"
314 style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4242);stroke-width:1.29320383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
315 d="m 35.63063,1049.8238 -23.363888,-0.033 -12.29854205,-0.017"
316 id="path4158-2"
317 inkscape:connector-curvature="0"
318 sodipodi:nodetypes="ccc" />
319 <path
320 style="fill:#d0324b;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
321 d="m 2.3216919,35.605827 0,-36.42406793"
322 id="path4158-1-8"
323 inkscape:connector-curvature="0" />
324 <path
325 style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
326 d="m 4.0322624,25.141553 5.3033009,-1.6415 1.3889597,-3.3461 5.113897,-1.5784 4.545686,1.1364 4.16688,-3.9143 4.293148,1.4521 6.250319,-4.5457 0,0 0,0 0,0"
327 id="path4177-8"
328 inkscape:connector-curvature="0" />
329 <ellipse
330 style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
331 id="path4296-37"
332 cx="9.0443869"
333 cy="23.053011"
334 rx="1.3857708"
335 ry="1.3627762" />
336 <ellipse
337 style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
338 id="path4296-37-7"
339 cx="10.640625"
340 cy="20.089321"
341 rx="1.3857708"
342 ry="1.3627762" />
343 <ellipse
344 style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
345 id="path4296-37-0"
346 cx="15.46875"
347 cy="18.596579"
348 rx="1.3857708"
349 ry="1.3627762" />
350 <ellipse
351 style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
352 id="path4296-37-6"
353 cx="20.004902"
354 cy="19.189219"
355 rx="1.3857708"
356 ry="1.3627762" />
357 <ellipse
358 style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
359 id="path4296-37-5"
360 cx="24.195082"
361 cy="15.688758"
362 rx="1.3857708"
363 ry="1.3627762" />
364 <ellipse
365 style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
366 id="path4296-37-51"
367 cx="28.640625"
368 cy="16.874823"
369 rx="1.3857708"
370 ry="1.3627762" />
371 <path
372 style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
373 d="m 4.0063416,31.954086 7.3867404,-7.1973 6.439723,2.2728 5.050762,-5.0507 3.788072,2.5253 8.460028,-7.3867 0,0 -0.06313,-0.1263"
374 id="path4175-4"
375 inkscape:connector-curvature="0" />
376 </g>
377 <g
378 inkscape:label="Calque 1"
379 inkscape:groupmode="layer"
380 id="layer1"
381 transform="translate(0,-1016.9291)"
382 style="display:inline">
383 <text
384 xml:space="preserve"
385 style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
386 x="10.101525"
387 y="1028.8761"
388 id="text4154"
389 sodipodi:linespacing="125%"><tspan
390 sodipodi:role="line"
391 id="tspan4156"
392 x="10.101525"
393 y="1028.8761" /></text>
394 <path
395 style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4204);stroke-width:1.08187723px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
396 d="m 35.453044,1049.7801 -23.223507,-0.023 -12.22464641,-0.012"
397 id="path4158"
398 inkscape:connector-curvature="0"
399 sodipodi:nodetypes="ccc" />
400 <path
401 style="fill:#d0324b;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4196);stroke-width:1.08465528px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
402 d="m 2.3172511,1052.4063 0,-35.4297"
403 id="path4158-1"
404 inkscape:connector-curvature="0" />
405 <path
406 style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4286);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
407 d="m 3.8512066,1048.418 7.3867404,-7.1973 6.439723,2.2728 5.050762,-5.0507 3.788072,2.5253 8.460028,-7.3867 0,0 -0.06313,-0.1263"
408 id="path4175"
409 inkscape:connector-curvature="0" />
410 <path
411 style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4278);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
412 d="m 3.661803,1041.6626 5.3033009,-1.6415 1.3889601,-3.3461 5.113897,-1.5784 4.545686,1.1364 4.16688,-3.9143 4.293148,1.4521 6.250319,-4.5457 0,0 0,0 0,0"
413 id="path4177"
414 inkscape:connector-curvature="0" />
415 <text
416 xml:space="preserve"
417 style="font-style:normal;font-weight:normal;font-size:12.85732651px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient4304);fill-opacity:1;stroke:url(#linearGradient5832);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
418 x="-379.69321"
419 y="1010.6995"
420 id="text4179"
421 sodipodi:linespacing="125%"
422 transform="matrix(0.97283834,-0.41451777,0.37068785,0.86997321,0,0)"><tspan
423 sodipodi:role="line"
424 id="tspan4181"
425 x="-379.69321"
426 y="1010.6995"
427 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.28591824px;font-family:Meera;-inkscape-font-specification:Meera;fill:url(#linearGradient4304);fill-opacity:1;stroke:url(#linearGradient5832)"><tspan
428 style="font-size:16.25px;fill:url(#linearGradient4304);stroke:url(#linearGradient5832)"
429 id="tspan5836">Q</tspan>Lop</tspan></text>
430 <ellipse
431 style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
432 id="path4296"
433 cx="8.8203297"
434 cy="1039.785"
435 rx="1.2310911"
436 ry="1.1418053" />
437 <ellipse
438 style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
439 id="path4296-3"
440 cx="10.354064"
441 cy="1036.8215"
442 rx="1.2310911"
443 ry="1.1418053" />
444 <ellipse
445 style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
446 id="path4296-7"
447 cx="15.341692"
448 cy="1035.3063"
449 rx="1.2310911"
450 ry="1.1418053" />
451 <ellipse
452 style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
453 id="path4296-9"
454 cx="19.887379"
455 cy="1035.9692"
456 rx="1.2310911"
457 ry="1.1418053" />
458 <ellipse
459 style="opacity:1;fill:#000000;fill-opacity:0.65490196;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
460 id="path4296-1"
461 cx="24.180525"
462 cy="1032.5284"
463 rx="1.2310911"
464 ry="1.1418053" />
465 <ellipse
466 style="opacity:1;fill:#000000;fill-opacity:0.32941176;stroke:none;stroke-width:3.62710381;stroke-opacity:1"
467 id="path4296-8"
468 cx="28.566154"
469 cy="1033.647"
470 rx="1.2310911"
471 ry="1.1418053" />
472 <text
473 xml:space="preserve"
474 style="font-style:normal;font-weight:normal;font-size:12.85732651px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
475 x="-379.03479"
476 y="1009.6447"
477 id="text4179-7"
478 sodipodi:linespacing="125%"
479 transform="matrix(0.97283834,-0.41451777,0.37068785,0.86997321,0,0)"><tspan
480 sodipodi:role="line"
481 id="tspan4181-2"
482 x="-379.03479"
483 y="1009.6447"
484 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.28591824px;font-family:Meera;-inkscape-font-specification:Meera;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"><tspan
485 style="font-size:16.25px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
486 id="tspan5836-9">Q</tspan>Lop</tspan></text>
487 </g>
488 </svg>
@@ -0,0 +1,29
1 #include "qlopdatabaseviewer.h"
2 #include "ui_qlopdatabaseviewer.h"
3
4 QLopDataBaseViewer::QLopDataBaseViewer(QWidget *parent) :
5 QDockWidget(parent),
6 ui(new Ui::QLopDataBaseViewer)
7 {
8 ui->setupUi(this);
9 this->model = new QLopDataBaseViewerModel();
10 this->ui->dataBaseTbleView->setModel(model);
11 }
12
13 QLopDataBaseViewer::~QLopDataBaseViewer()
14 {
15 delete ui;
16 delete model;
17 }
18
19 void QLopDataBaseViewer::changeEvent(QEvent *e)
20 {
21 QDockWidget::changeEvent(e);
22 switch (e->type()) {
23 case QEvent::LanguageChange:
24 ui->retranslateUi(this);
25 break;
26 default:
27 break;
28 }
29 }
@@ -0,0 +1,27
1 #ifndef QLOPDATABASEVIEWER_H
2 #define QLOPDATABASEVIEWER_H
3
4 #include <QDockWidget>
5 #include <qlopdatabaseviewermodel.h>
6
7 namespace Ui {
8 class QLopDataBaseViewer;
9 }
10
11 class QLopDataBaseViewer : public QDockWidget
12 {
13 Q_OBJECT
14
15 public:
16 explicit QLopDataBaseViewer(QWidget *parent = 0);
17 ~QLopDataBaseViewer();
18
19 protected:
20 void changeEvent(QEvent *e);
21
22 private:
23 Ui::QLopDataBaseViewer *ui;
24 QLopDataBaseViewerModel* model;
25 };
26
27 #endif // QLOPDATABASEVIEWER_H
@@ -0,0 +1,26
1 <?xml version="1.0" encoding="UTF-8"?>
2 <ui version="4.0">
3 <class>QLopDataBaseViewer</class>
4 <widget class="QDockWidget" name="QLopDataBaseViewer">
5 <property name="geometry">
6 <rect>
7 <x>0</x>
8 <y>0</y>
9 <width>825</width>
10 <height>427</height>
11 </rect>
12 </property>
13 <property name="windowTitle">
14 <string>DockWidget</string>
15 </property>
16 <widget class="QWidget" name="dockWidgetContents">
17 <layout class="QGridLayout" name="gridLayout">
18 <item row="0" column="0">
19 <widget class="QTableView" name="dataBaseTbleView"/>
20 </item>
21 </layout>
22 </widget>
23 </widget>
24 <resources/>
25 <connections/>
26 </ui>
@@ -0,0 +1,41
1 #include "qlopdatabaseviewermodel.h"
2
3 QLopDataBaseViewerModel::QLopDataBaseViewerModel(QObject *parent)
4 : QAbstractTableModel(parent)
5 {
6 beginResetModel();
7 endResetModel();
8 }
9
10 QLopDataBaseViewerModel::~QLopDataBaseViewerModel()
11 {
12
13 }
14
15 int QLopDataBaseViewerModel::rowCount(const QModelIndex &parent) const
16 {
17 return QLopDataBase::count();
18 }
19
20 int QLopDataBaseViewerModel::columnCount(const QModelIndex &parent) const
21 {
22 return 3;
23 }
24
25 QVariant QLopDataBaseViewerModel::data(const QModelIndex &index, int role) const
26 {
27 if (!index.isValid() || role != Qt::DisplayRole)
28 return QVariant();
29 QLopData* data=QLopDataBase::self()->getDataFromIdex(index.row());
30 if(data)
31 return data->name;
32 else QVariant();
33 }
34
35 QVariant QLopDataBaseViewerModel::headerData(int section, Qt::Orientation orientation, int role) const
36 {
37 if (role == Qt::SizeHintRole)
38 return QSize(1, 1);
39 return QVariant();
40 }
41
@@ -0,0 +1,24
1 #ifndef QLOPDATABASEVIEWERMODEL_H
2 #define QLOPDATABASEVIEWERMODEL_H
3
4 #include <QObject>
5 #include <QAbstractTableModel>
6 #include <qlopdatabase.h>
7
8 class QLopDataBaseViewerModel : public QAbstractTableModel
9 {
10 public:
11 QLopDataBaseViewerModel(QObject *parent=0);
12 ~QLopDataBaseViewerModel();
13
14 int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
15 int columnCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
16
17 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE;
18 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE;
19
20 private:
21
22 };
23
24 #endif // QLOPDATABASEVIEWERMODEL_H
@@ -9,6 +9,10 CONFIG += pythonqt
9
9
10 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
10 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
11
11
12 MOC_DIR = moc
13 UI_DIR = ui
14 OBJECTS_DIR = obj
15
12 DESTDIR =./bin
16 DESTDIR =./bin
13
17
14 TARGET = QLop
18 TARGET = QLop
@@ -21,12 +25,8 INCLUDEPATH += src/QCustomPlot \
21 src/Core src/Core/Widgets \
25 src/Core src/Core/Widgets \
22 src/Core/Widgets/PyWdgt
26 src/Core/Widgets/PyWdgt
23
27
24 QMAKE_CXXFLAGS_RELEASE += -O5 -fopenmp -march=corei7-avx -mtune=corei7-avx -mavx
28 QMAKE_CXXFLAGS += -O5 -fopenmp
25 QMAKE_LFLAGS_RELEASE += -O5 -fopenmp -march=corei7-avx -mtune=corei7-avx -mavx
29 QMAKE_LFLAGS += -O5 -fopenmp
26
27 QMAKE_CXXFLAGS_DEBUG += -O0 -fopenmp -march=corei7-avx -mtune=corei7-avx -mavx
28 QMAKE_LFLAGS_DEBUG += -O0 -fopenmp -march=corei7-avx -mtune=corei7-avx -mavx
29
30
30
31 SOURCES += src/main.cpp\
31 SOURCES += src/main.cpp\
32 src/mainwindow.cpp \
32 src/mainwindow.cpp \
@@ -54,7 +54,9 SOURCES += src/main.cpp\
54 src/Core/Widgets/filebrowser.cpp \
54 src/Core/Widgets/filebrowser.cpp \
55 src/Core/Widgets/filesystemmodel.cpp \
55 src/Core/Widgets/filesystemmodel.cpp \
56 src/Core/Widgets/qcustomplotvect.cpp \
56 src/Core/Widgets/qcustomplotvect.cpp \
57 src/Core/qlopdatabase.cpp
57 src/Core/qlopdatabase.cpp \
58 src/Core/Widgets/qlopdatabaseviewer.cpp \
59 src/Core/Widgets/qlopdatabaseviewermodel.cpp
58
60
59 HEADERS += src/mainwindow.h \
61 HEADERS += src/mainwindow.h \
60 src/SocExplorerPlot.h \
62 src/SocExplorerPlot.h \
@@ -83,7 +85,9 HEADERS += src/mainwindow.h \
83 src/Core/Widgets/filebrowser.h \
85 src/Core/Widgets/filebrowser.h \
84 src/Core/Widgets/filesystemmodel.h \
86 src/Core/Widgets/filesystemmodel.h \
85 src/Core/Widgets/qcustomplotvect.h \
87 src/Core/Widgets/qcustomplotvect.h \
86 src/Core/qlopdatabase.h
88 src/Core/qlopdatabase.h \
89 src/Core/Widgets/qlopdatabaseviewer.h \
90 src/Core/Widgets/qlopdatabaseviewermodel.h
87
91
88 FORMS += src/mainwindow.ui \
92 FORMS += src/mainwindow.ui \
89 src/Core/Widgets/downloadhistory.ui \
93 src/Core/Widgets/downloadhistory.ui \
@@ -91,7 +95,8 FORMS += src/mainwindow.ui \
91 src/Cassini/cassinidatadownloader.ui \
95 src/Cassini/cassinidatadownloader.ui \
92 src/Cassini/cassiniindexfileviewer.ui \
96 src/Cassini/cassiniindexfileviewer.ui \
93 src/Cassini/cassinitoolsgui.ui \
97 src/Cassini/cassinitoolsgui.ui \
94 src/Core/Widgets/filebrowser.ui
98 src/Core/Widgets/filebrowser.ui \
99 src/Core/Widgets/qlopdatabaseviewer.ui
95
100
96 RESOURCES += \
101 RESOURCES += \
97 resources/qlop.qrc
102 resources/qlop.qrc
@@ -107,6 +112,28 unix {
107 DEFINES += UNIX
112 DEFINES += UNIX
108 }
113 }
109
114
115 unix{
116 target.path = /usr/bin
117 INSTALLS += target
118 }
119
120
121 unix{
122 QLopLauncher.path = /usr/share/applications/
123 QLopLauncher.files = linux/QLop.desktop
124 QLopAppData.path = /usr/share/appdata/
125 QLopAppData.files = linux/QLop.appdata.xml
126 share.path = /usr/share/QLop
127 share.files = resources/QLop.svg \
128 resources/QLop.png
129
130 INSTALLS+= QLopLauncher share QLopAppData
131 }
132
110 DISTFILES += \
133 DISTFILES += \
111 src/Core/pythongenerator.sh \
134 src/Core/pythongenerator.sh \
112 src/Core/pythonQtgeneratorCfg.txt
135 src/Core/pythonQtgeneratorCfg.txt \
136 linux/QLop.spec \
137 linux/QLop.desktop \
138 linux/QLop.appdata.xml
139
@@ -5,5 +5,9
5 <file>ListView.svg</file>
5 <file>ListView.svg</file>
6 <file>TreeView.svg</file>
6 <file>TreeView.svg</file>
7 <file>Gnome-go-up.svg</file>
7 <file>Gnome-go-up.svg</file>
8 <file>QLop.svg</file>
9 </qresource>
10 <qresource prefix="/">
11 <file>QLop.png</file>
8 </qresource>
12 </qresource>
9 </RCC>
13 </RCC>
@@ -203,9 +203,9 void CassiniDataFile::readFile()
203 QVector<QCPData> *ch2=new QVector<QCPData>(lineCnt);
203 QVector<QCPData> *ch2=new QVector<QCPData>(lineCnt);
204 QVector<QCPData> *ch3=new QVector<QCPData>(lineCnt);
204 QVector<QCPData> *ch3=new QVector<QCPData>(lineCnt);
205 QLopDataList data;
205 QLopDataList data;
206 QLopDataVector* ch1V=new QLopDataVector();
206 QLopQCPDataVector* ch1V=new QLopQCPDataVector();
207 QLopDataVector* ch2V=new QLopDataVector();
207 QLopQCPDataVector* ch2V=new QLopQCPDataVector();
208 QLopDataVector* ch3V=new QLopDataVector();
208 QLopQCPDataVector* ch3V=new QLopQCPDataVector();
209 ch1V->data=ch1;
209 ch1V->data=ch1;
210 ch2V->data=ch2;
210 ch2V->data=ch2;
211 ch3V->data=ch3;
211 ch3V->data=ch3;
@@ -281,9 +281,9 void CassiniDataFile::writeFile()
281 {
281 {
282 if(m_data.count()==3)
282 if(m_data.count()==3)
283 {
283 {
284 QLopDataVector* ch1V=(QLopDataVector*)m_data.at(0);
284 QLopQCPDataVector* ch1V=(QLopQCPDataVector*)m_data.at(0);
285 QLopDataVector* ch2V=(QLopDataVector*)m_data.at(1);
285 QLopQCPDataVector* ch2V=(QLopQCPDataVector*)m_data.at(1);
286 QLopDataVector* ch3V=(QLopDataVector*)m_data.at(2);
286 QLopQCPDataVector* ch3V=(QLopQCPDataVector*)m_data.at(2);
287 if(ch1V->data->count()==ch2V->data->count() && ch1V->data->count()==ch3V->data->count())
287 if(ch1V->data->count()==ch2V->data->count() && ch1V->data->count()==ch3V->data->count())
288 {
288 {
289 for(int i=0;i<ch1V->data->count();i++)
289 for(int i=0;i<ch1V->data->count();i++)
@@ -86,7 +86,9 void CassiniTools::makePlot()
86 SocExplorerPlotActions* action=new SocExplorerPlotActions("export view",plot->PID(),_self);
86 SocExplorerPlotActions* action=new SocExplorerPlotActions("export view",plot->PID(),_self);
87 plot->addAction(action);
87 plot->addAction(action);
88 QObject::connect(action,SIGNAL(triggered(int)),_self,SLOT(export_view(int)));
88 QObject::connect(action,SIGNAL(triggered(int)),_self,SLOT(export_view(int)));
89 ExportAction=new SocExplorerPlotActions("export view to "+QString(plot->title()).replace(".TAB","-part.TAB"),plot->PID(),_self);
89 QString fileName = QString(plot->title()).replace(".TAB","");
90 fileName = generateFileName(fileName,".TAB");
91 ExportAction=new SocExplorerPlotActions("export view to "+fileName,plot->PID(),_self);
90 plot->addAction(ExportAction);
92 plot->addAction(ExportAction);
91 QObject::connect(ExportAction,SIGNAL(triggered(int)),_self,SLOT(export_view_Predefined_FileName(int)));
93 QObject::connect(ExportAction,SIGNAL(triggered(int)),_self,SLOT(export_view_Predefined_FileName(int)));
92 action=new SocExplorerPlotActions("FFT of the current view",plot->PID(),_self);
94 action=new SocExplorerPlotActions("FFT of the current view",plot->PID(),_self);
@@ -130,7 +132,9 void CassiniTools::plotFile(const QStrin
130 if(plot)
132 if(plot)
131 {
133 {
132 plot->setTitle(File);
134 plot->setTitle(File);
133 ExportAction->setText("export view to "+QString(File).replace(".TAB","-part.TAB"));
135 QString fileName = QString(File).replace(".TAB","-part");
136 fileName = generateFileName(fileName,".TAB");
137 ExportAction->setText("export view to "+fileName);
134 }
138 }
135 }
139 }
136 }
140 }
@@ -154,7 +158,7 void CassiniTools::export_view(int PID)
154 QLopDataList vectors;
158 QLopDataList vectors;
155 for(int i=0;i<plot->graphCount();i++)
159 for(int i=0;i<plot->graphCount();i++)
156 {
160 {
157 QLopDataVector* vect = new QLopDataVector();
161 QLopQCPDataVector* vect = new QLopQCPDataVector();
158 vect->data = plot->getVisibleData(i);
162 vect->data = plot->getVisibleData(i);
159 vectors.append(vect);
163 vectors.append(vect);
160 }
164 }
@@ -169,13 +173,14 void CassiniTools::export_view_Predefine
169 if(plot==NULL)
173 if(plot==NULL)
170 return;
174 return;
171 {
175 {
172 QString fileName = QString(plot->title()).replace(".TAB","-part.TAB");
176 QString fileName = QString(plot->title()).replace(".TAB","-part");
177 fileName = generateFileName(fileName,".TAB");
173 if(fileName!="")
178 if(fileName!="")
174 {
179 {
175 QLopDataList vectors;
180 QLopDataList vectors;
176 for(int i=0;i<plot->graphCount();i++)
181 for(int i=0;i<plot->graphCount();i++)
177 {
182 {
178 QLopDataVector* vect = new QLopDataVector();
183 QLopQCPDataVector* vect = new QLopQCPDataVector();
179 vect->data = plot->getVisibleData(i);
184 vect->data = plot->getVisibleData(i);
180 vectors.append(vect);
185 vectors.append(vect);
181 }
186 }
@@ -196,16 +201,16 void CassiniTools::compute_fft_on_view(i
196 QLopDataList vectors;
201 QLopDataList vectors;
197 for(int i=0;i<plot->graphCount();i++)
202 for(int i=0;i<plot->graphCount();i++)
198 {
203 {
199 QLopDataVector* vect = new QLopDataVector();
204 QLopQCPDataVector* vect = new QLopQCPDataVector();
200 vect->data = plot->getVisibleData(i);
205 vect->data = plot->getVisibleData(i);
201 vectors.append(vect);
206 vectors.append(vect);
202 }
207 }
203 if(vectors.count()==3)
208 if(vectors.count()==3)
204 {
209 {
205 QLopDataVector* ch1V=(QLopDataVector*)vectors.at(0);
210 QLopQCPDataVector* ch1V=(QLopQCPDataVector*)vectors.at(0);
206 QLopDataVector* ch2V=(QLopDataVector*)vectors.at(1);
211 QLopQCPDataVector* ch2V=(QLopQCPDataVector*)vectors.at(1);
207 QLopDataVector* ch3V=(QLopDataVector*)vectors.at(2);
212 QLopQCPDataVector* ch3V=(QLopQCPDataVector*)vectors.at(2);
208 QLopDataVector* FFTout=new QLopDataVector();
213 QLopQCPDataVector* FFTout=new QLopQCPDataVector();
209 if(ch1V->data->count()==ch2V->data->count() && ch1V->data->count()==ch3V->data->count())
214 if(ch1V->data->count()==ch2V->data->count() && ch1V->data->count()==ch3V->data->count())
210 {
215 {
211
216
@@ -259,6 +264,17 void CassiniTools::compute_fft_on_view(i
259 }
264 }
260 }
265 }
261
266
267 QString CassiniTools::generateFileName(const QString &baseName, const QString &extension)
268 {
269 QString fileName = baseName+extension;
270 int i=0;
271 while(QFile::exists(fileName))
272 {
273 fileName = baseName+QString::number(i++)+extension;
274 }
275 return fileName;
276 }
277
262 QDockWidget *CassiniTools::getGUI()
278 QDockWidget *CassiniTools::getGUI()
263 {
279 {
264 if(!m_noGui && (m_gui==NULL))
280 if(!m_noGui && (m_gui==NULL))
@@ -297,7 +313,7 void CassiniTools::dataReady(QLopDataLis
297 pen.setColor(QLopColours[i%QLopColoursCount]);
313 pen.setColor(QLopColours[i%QLopColoursCount]);
298 plot->setGraphPen(i,pen);
314 plot->setGraphPen(i,pen);
299 plot->setGraphName(i,data.at(i)->name+"("+data.at(i)->unit+")");
315 plot->setGraphName(i,data.at(i)->name+"("+data.at(i)->unit+")");
300 plot->setGraphData(i,((QLopDataVector*)data.at(i))->data,false);
316 plot->setGraphData(i,((QLopQCPDataVector*)data.at(i))->data,false);
301 }
317 }
302 plot->rescaleAxis();
318 plot->rescaleAxis();
303 plot->replot();
319 plot->replot();
@@ -57,6 +57,7 public slots:
57 void export_view_Predefined_FileName(int PID);
57 void export_view_Predefined_FileName(int PID);
58 void compute_fft_on_view(int PID);
58 void compute_fft_on_view(int PID);
59 private slots:
59 private slots:
60 static QString generateFileName(const QString& baseName,const QString& extension);
60 void dataReady(QLopDataList data);
61 void dataReady(QLopDataList data);
61 };
62 };
62
63
@@ -99,8 +99,8 NicePyConsolePygmentsFiles.files = $${PW
99
99
100 unix{
100 unix{
101
101
102 NicePyConsoleFiles.path = /etc/SocExplorer/python
102 NicePyConsoleFiles.path = /etc/QLop/python
103 NicePyConsolePygmentsFiles.path = /etc/SocExplorer/python
103 NicePyConsolePygmentsFiles.path = /etc/QLop/python
104 INSTALLS += NicePyConsoleFiles NicePyConsolePygmentsFiles
104 INSTALLS += NicePyConsoleFiles NicePyConsolePygmentsFiles
105 QMAKE_POST_LINK = $${QMAKE_MKDIR} $${DESTDIR}/python && $${QMAKE_COPY} $${NicePyConsoleFiles.files} $${DESTDIR}/python && $${QMAKE_COPY} -R $${NicePyConsolePygmentsFiles.files} $${DESTDIR}/python
105 QMAKE_POST_LINK = $${QMAKE_MKDIR} $${DESTDIR}/python && $${QMAKE_COPY} $${NicePyConsoleFiles.files} $${DESTDIR}/python && $${QMAKE_COPY} -R $${NicePyConsolePygmentsFiles.files} $${DESTDIR}/python
106 }
106 }
@@ -36,12 +36,23 QLopData::~QLopData()
36
36
37
37
38
38
39 QLopDataVector::QLopDataVector(QObject *parent)
39 QLopQCPDataVector::QLopQCPDataVector(QObject *parent)
40 {
41 this->type = QLopData::QCPDataVector;
42 }
43
44 QLopQCPDataVector::~QLopQCPDataVector()
45 {
46 delete data;
47 }
48
49
50 QLopQVector::QLopQVector(QObject *parent)
40 {
51 {
41 this->type = QLopData::Vector;
52 this->type = QLopData::Vector;
42 }
53 }
43
54
44 QLopDataVector::~QLopDataVector()
55 QLopQVector::~QLopQVector()
45 {
56 {
46 delete data;
57 delete data;
47 }
58 }
@@ -46,6 +46,7 public:
46 Scalar=0,
46 Scalar=0,
47 Vector=1,
47 Vector=1,
48 Matrix=2,
48 Matrix=2,
49 QCPDataVector=3,
49 None=-1,
50 None=-1,
50 }
51 }
51 QLopDataType;
52 QLopDataType;
@@ -62,17 +63,29 public slots:
62 private:
63 private:
63 };
64 };
64
65
65 class QLopDataVector : public QLopData
66 class QLopQCPDataVector : public QLopData
66 {
67 {
67 Q_OBJECT
68 Q_OBJECT
68 public:
69 public:
69 explicit QLopDataVector(QObject *parent = 0);
70 explicit QLopQCPDataVector(QObject *parent = 0);
70 ~QLopDataVector();
71 ~QLopQCPDataVector();
71 QVector<QCPData>* data;
72 QVector<QCPData>* data;
72 signals:
73 signals:
73 public slots:
74 public slots:
74 private:
75 private:
75 };
76 };
77
78 class QLopQVector : public QLopData
79 {
80 Q_OBJECT
81 public:
82 explicit QLopQVector(QObject *parent = 0);
83 ~QLopQVector();
84 QVector<double>* data;
85 signals:
86 public slots:
87 private:
88 };
76 typedef QList<QLopData*> QLopDataList;
89 typedef QList<QLopData*> QLopDataList;
77
90
78 #endif // QLOPDATA_H
91 #endif // QLOPDATA_H
@@ -81,3 +81,11 QLopData *QLopDataBase::getData(int ID)
81 return NULL;
81 return NULL;
82 }
82 }
83
83
84 QLopData *QLopDataBase::getDataFromIdex(int index)
85 {
86 if((index>=0)&&(index<m_dataBase->count()))
87 return m_dataBase->at(index);
88 else
89 return NULL;
90 }
91
@@ -19,6 +19,7 public:
19 static int count();
19 static int count();
20 static QLopData* getData(const QString& name);
20 static QLopData* getData(const QString& name);
21 static QLopData* getData(int ID);
21 static QLopData* getData(int ID);
22 QLopData* getDataFromIdex(int index);
22 signals:
23 signals:
23
24
24 public slots:
25 public slots:
@@ -44,6 +44,7 MainWindow::MainWindow(int OMP_THREADS,
44 {
44 {
45 this->OMP_THREADS = OMP_THREADS;
45 this->OMP_THREADS = OMP_THREADS;
46 ui->setupUi(this);
46 ui->setupUi(this);
47 this->setWindowIcon(QIcon(":img/QLop.svg"));
47
48
48 // QLopPlots::getPlot()->setXaxisTickLabelType(QCPAxis::ltDateTime);
49 // QLopPlots::getPlot()->setXaxisTickLabelType(QCPAxis::ltDateTime);
49 // QLopPlots::getPlot()->setXaxisDateTimeFormat("hh:mm:ss.zzz");
50 // QLopPlots::getPlot()->setXaxisDateTimeFormat("hh:mm:ss.zzz");
@@ -57,7 +58,6 MainWindow::MainWindow(int OMP_THREADS,
57 this->progress.append(new QProgressBar(this->progressWidget));
58 this->progress.append(new QProgressBar(this->progressWidget));
58 this->progress.last()->setMinimum(0);
59 this->progress.last()->setMinimum(0);
59 this->progress.last()->setMaximum(100);
60 this->progress.last()->setMaximum(100);
60 // connect(&this->fileReader,SIGNAL(updateProgress(int,int)),this,SLOT(updateProgress(int,int)));
61 this->progressLayout->addWidget(this->progress.last());
61 this->progressLayout->addWidget(this->progress.last());
62 this->progressWidget->hide();
62 this->progressWidget->hide();
63 this->progressThreadIds[i] = -1;
63 this->progressThreadIds[i] = -1;
General Comments 0
You need to be logged in to leave comments. Login now