Commit Graph

540 Commits

Author SHA1 Message Date
5af4b0c40c fix bug introduced by lazy subscription
Sources in custom dataengine updated only if user subscribe on specified
source. I've implemented drop returing value so if no requested value
found it will return force update event.
2016-03-04 15:06:12 +03:00
071d7fdb78 bump default gi configuration
Bump API version and add new parameters. Also:

1. Fix function combobox in configuration UI.
2. Drop datasource from time engine as well.
3. Small edit abstractdesources class
2016-03-03 19:57:31 +03:00
89d573450a fix #81
As it was found the issue has been caused by parallel access to
QGraphicsScene so it has been cleared before convertion to pixmap. It
has been resolved by deletion concurrent updates in this place (it makes
sense anyway).
2016-03-01 00:58:37 +03:00
50f3ef5bba move gihelper to own class from namespace
This action will allow to store data in the helper class. Also
notification for high memory usage has been changed from 90 to 80.
2016-02-26 20:04:27 +03:00
8cae273ffb split gi to helper and core
Also internal data format has been changed
2016-02-24 20:40:55 +03:00
15d4d7667d change formating
* add *h.in to clang-format configuration
* move static keys definition to header. Probably it may break something
  with key parsing
2016-02-17 09:31:11 +03:00
95a5eec108 Cosmetic commit
* apply clangformat settings
* update translations
* rename settings
2016-02-16 08:46:43 +03:00
362f1fd87e prepare to move to generic bars
This commits series introduces bars which may be calculated from any
custom formula. For a start I've renamed $bar*tag to $bar* and add new
configuration parameters to graphical items.
2016-02-12 09:23:30 +03:00
5c474e822b one more optimization
The previous versions stored values as string, so any (even if they are
not used) values being converted into string, and then (if required)
being converted back to float/int/etc. I've changed the mechanism, so
they are stored as QVariant (native value).

Please note that it is possible that this rewrite may cause crash in
some cases (if I've missed smth).
2016-02-10 10:51:01 +03:00
d856fa8e97 possible fix #75
I've added 'optimize' option (by default true). If it options is set
then sources will be checked if they are required (with dependencies if
any). And if they are not required they will be dropped by using common
mechanism.

Please note that if this option enabled the following features (at the
    moment) will be unavailable:

* key request from context menu (from configuration interface it still works)
* notifications event if sources on which notification is not connected

I suppose this commit will increase performance in about 4-5 times.
2016-02-05 11:08:09 +03:00
54e1545bb1 create update helper class
Move old chechUpdates() method to this class. Create ability to show
ChangeLog after updates (by using global config with version). Changelog
(only for the latest version) will be written to version.h during cmake
run.
2016-02-04 00:02:49 +07:00
beb2682b04 Stabilizing commit
* move request timeout settings to the configuration header
* initial support of requiredby dictionary
* add AWPatternFunctions namespace
* improve components communication
* update UI to recent abilities
* rewrite qCDebug messages and update CONTRIBUTING.md accordingly
2016-02-01 00:25:28 +07:00
966c6059a0 split some classes to different namespaces to improve code base
No significant changes applied.

* function syntax has been changed to another one, any function may be called
  by using the following construction:

      $aw_function_name<some args here if any>{{function body if any}}

* rewrite travis.yml
2016-01-31 00:00:12 +07:00
1c78e0d779 Initial support of templates and so on (#71)
* Initial syntax is the following:

    * $template{{ some JS code here }} - simple template based on JS
      code inside. It works the same as lambda functions, but calculates
      only once.
    * aw_count(regex) - keys count found for given regex
    * aw_keys(regex, [separator]) - keys found for given regex and
      joined by using given separator
    * aw_names(regex, [separator]) - key names found for given regex and
      joined by using given separator (the same as previous but w\o $)

  The template and function syntax may be changed before release.

* replace `foreach` to `for (auto foo : bar)` and update CONTRIBUTING.md
  accordingly
2016-01-30 00:07:47 +07:00
fba58c27e8 fix #73
I suppose the better way is to move weather adaptor to another open
weather engine despite the fact that OWM has provided me a special FOSS
permissions. I've changed weather provider to Yahoo! Weather because
there is no good way to provide my own API key to end-users except for
being compiled to the source code.

In other hand this solution leads to the fact that humidity and
atmosphere pressure is not available for forecast more. And moreover
pressure units has been changed for current weather.

+ fix possible memory leak in dataengine aggregator
+ add "special thanks" group to acknoledgment tab
2016-01-29 01:31:00 +07:00
4b679ff570 fix #74
Unfortunately there is no good way to resize tooptip dynamically if html
image is used. In other hand if tooltip type set to "names" it is
possible to resize tooptips to content size.

+ update gitignore
2016-01-28 12:44:45 +03:00
arcan1s
ac089dee9c Release 3.0.1
drop nullptr checking
2015-10-23 00:20:30 +03:00
arcan1s
99e38118a4 drop unused declarations, update qt5.5 patch 2015-10-22 05:22:02 +03:00
arcan1s
68dd2432cd drop qcinfo support (it will be moved to additional patch) 2015-10-22 05:01:38 +03:00
arcan1s
8545192ef8 move dialog part to qml files 2015-10-22 02:52:06 +03:00
arcan1s
df87850f65 Release 3.0.0
* turn back concurrent text update
* update screenshots
2015-10-21 06:53:34 +03:00
arcan1s
c2db8740b8 translation update 2015-10-20 01:23:12 +03:00
arcan1s
75ab84e993 * logging changes
* add configuration export status message
* prepare to release
2015-10-20 00:34:29 +03:00
arcan1s
c161004640 drop clion settings at all 2015-10-19 01:28:51 +03:00
arcan1s
c1a8c17ecb * drop workspace.xml from source tree (it is changed too offen)
* fix export and import configurations for json files
2015-10-19 00:57:27 +03:00
arcan1s
17a8a1734b * create cppcheck and clangformat targets
* apply code style (#67)
* send values by reference
* fix warnings on plugin destruction by disconnecting dataengines first
* fix invalid hddtemp group definition
2015-10-18 00:05:42 +03:00
arcan1s
8645260f99 * end work on #68
* create special class for configuration
* update clion settings
2015-10-17 00:06:32 +03:00
arcan1s
0e1b101703 * initial implementation of configuration export and import feature (#68)
* drop mediators in data transition
2015-10-16 07:22:03 +03:00
arcan1s
2db2de4c27 * try to drop text update to main thread instead of concurrent run
* update contributing.md
2015-10-15 16:54:13 +03:00
arcan1s
3be733a775 drop code oriented on the stream lock in parallel updates
This fact caused by the qt signal-slot implementation. Even if slots
code is going into parallel they will be called in the main app thread.
And also it is used inside KF5 dataengine implementation, so I'm affraid
that it could not be optimized w\o backend rewriting
2015-10-13 01:49:12 +03:00
arcan1s
d3ab0a7228 * add mutex to avoid crash on qhash data update (#62)
* update gitignore
* update contributing.md
2015-10-11 18:28:21 +03:00
arcan1s
440d180c20 some code style improvements (#67) 2015-10-10 00:51:24 +03:00
arcan1s
827275da3f fix crash which has been caused by the fact that we've called concurrent
data update and don't copy object (#66)
* more correct concurrent run
* move data split to awdataengineaggregator
2015-10-09 07:22:54 +03:00
arcan1s
f1e6f74c7d * add CONTRIBUTING.md
* add drop source ability for extsysmon
2015-10-08 01:08:59 +03:00
arcan1s
f7e24f680a * add Optimization build type which uses -O3
* create QTimer object in AWDataEngineAggregator class, emit signal to
  this timer because timers could not be started in the separate thread
* increase limit x2 with leaving the thread pool size as was
2015-10-07 01:39:10 +03:00
arcan1s
69c1f0ed5a * small build changes
* drop cast (they were added to try to avoid possible crash)
2015-10-06 06:49:24 +03:00
arcan1s
c4612d84ed move dataengine control to plugin part (ref to #66) 2015-10-05 00:00:38 +03:00
arcan1s
228d6500d3 update Spain translation 2015-10-01 00:18:58 +03:00
arcan1s
befdf0519f add loadsource for testing needs 2015-09-30 00:16:57 +03:00
arcan1s
79d2b07d57 update uk translation
fix typo in ru translation
2015-09-29 00:13:19 +03:00
arcan1s
84f6f1a820 * add commit SHA information
* allow to open link in quotes editor
* fix bug with no data updates in configuration ui
2015-09-28 19:27:55 +03:00
arcan1s
92ce241742 return back stream lock which will be disabled from qml by the timer. In
other case there is possibe plasma crash
2015-09-26 03:23:10 +03:00
arcan1s
ab2a444c84 auxiliary commit
* drop unnecessary includes
* bump API versions inside version.h
2015-09-24 00:05:09 +03:00
arcan1s
0fa274ad75 * fix bug in ui
* drop QUEUE_LIMIT build option (moved to runtime cfg)
* apply concurrent updates for slots
2015-09-23 03:53:42 +03:00
arcan1s
82e2bc23a1 * more intuitive configuration UI
* add queueLimit runtime configuration
2015-09-22 00:31:30 +03:00
arcan1s
4cc44c1d59 bump quotes api version to 3. Change data type from float to double to
avoid rounding problems
2015-09-21 06:17:43 +03:00
arcan1s
d20db1b888 rewrite several methods in GI, add support of graphs 2015-09-20 13:19:28 +03:00
arcan1s
120e201c5b * move update interval to another tab
* some changes inside concurrent run
* update COPYING to vanila format
2015-09-19 10:25:26 +03:00
arcan1s
24eb548bb3 * limit messages queue to ideal thread count
* move from QtScript to QJSEngine (first is deprecated since 5.6)
* drop unneeded includes in headers
* some changes inside queue managing
2015-09-17 01:10:55 +03:00
arcan1s
646e897058 * fix extsysmon multi keys sources
* change quotes values types to double
2015-09-16 00:01:07 +03:00