51 Commits

Author SHA1 Message Date
Kai Uwe Broulik
8678630a82 Allow changing the current month using mouse wheel
REVIEW: 120003
2014-09-02 20:14:26 +02:00
Martin Klapetek
2f3c411956 [calendar] Initialize the ints properly
Fixes a cppcheck report
2014-08-12 23:50:36 +02:00
Martin Klapetek
06827054f4 Replace Calendar grid with Canvas
This patch simplifies the grid a bit more by using Canvas instead of
Rectangles, so actually lowering the number of Items needed to create
the grid from 16 to just 1.

It works pretty neatly with no junctions problem at all.

REVIEW: 119283
2014-07-15 13:53:34 +02:00
Martin Klapetek
2f933387af Refactor the Calendar component a bit
Currently the grid itself is composed of 88 rectangles that draw all the
lines in a way that two big rect draws the whole two topmost horizontal
and leftmost vertical border lines and then each day rectangle is
drawing small bottom and right rect.

This patch reduces it to 13 rects only where one rect draws the whole
frame around the grid and then 1px wide/high rects draw the inner lines.
Results in much cleaner & simple code.

Plus there's a small refactor on the id names so it makes more sense.

This does not require any additional changes in the applets.

REVIEW: 119232
2014-07-12 13:52:34 +02:00
Martin Klapetek
de43b9b547 Remove bad merge leftovers 2014-06-17 17:56:05 +02:00
Martin Klapetek
6240b9e7d5 [calendar import]Fix months capitalization
Should be done by the view/label rather than hardocding it
2014-06-17 17:55:01 +02:00
Martin Klapetek
b0f56eed9b [calendar import]Set 'today' properly 2014-06-17 17:54:32 +02:00
Martin Klapetek
da33d6211f [calendar import]Remove useless function 2014-06-17 17:25:05 +02:00
Martin Klapetek
3188b417f4 Split startDate property into today and displayedDate in calendar component
Basically splits the Calendar::m_startDate into 'today' and
'displayedDate', where displayedDate is the date that is displayed (it
controls the days model etc) and can be manipulated by the user by eg.
changing months in the plasmoid, and today is the current day, populated
by our dataengine (which means it auto-updates with no need for a
timer).

This allows for greater flexibility and things like "Go back to today"
when eg. the plasmoid is hidden or when the user have browsed too far in
the calendar and just wants to get back to today (the button to do that
pending).

Also this fixes a problem where the time dataengine is being polled
every 30secs for the clock and would reset the calendar view as the
startDate is currently bound to the dataengine and the view resets on
that change.

REVIEW: 118668
CCBUG: 336304
2014-06-17 10:43:13 +02:00
Martin Klapetek
72c5aff002 Make the calendar heading & grid have the same margins
BUG: 336121
2014-06-12 13:56:08 +02:00
Martin Klapetek
aca024c2e0 Fix copy-paste calendar component bug 2014-05-27 17:44:08 +02:00
Martin Klapetek
19f21ec507 Equal margins on calendar grid from both sides 2014-05-27 17:44:08 +02:00
Martin Klapetek
12811f1fc4 Add the current month name to the calendar component by default
Currently we have 3 applets using the calendar grid and all of them put
the extra heading to the calendar. We also offer ways to change the
displayed month so we should also show /which/ month is the current one
displayed, implicitly.

REVIEW: 118328
BUG: 334147
2014-05-26 16:25:15 +02:00
Martin Klapetek
9f0765b002 Make sure we update the calendar on date change
This introduces new property on MonthView - "today". This property is
updated by dataengine (or can be a timer too, but we already get signals
from dataengine every 30 seconds to update the clock) and is never
updated by the code itself.

Furthermore, the DayDelegate is now bound to it, so when "today"
changes, the selection rectangle in the calendar should also change.

And finally, the selected item in the grid is cleared if MonthView's
date property is cleared (which is second part of this patch, to the
applet itself).

REVIEW: 118277
2014-05-26 13:40:47 +02:00
Martin Klapetek
2bd7101314 Calendar QML imports cleanup 2014-05-13 17:51:43 +02:00
Martin Klapetek
a4b08b0db3 Fix calendar font sizing
Reviewed-by: Sebastian Kügler
2014-05-13 17:44:45 +02:00
Martin Klapetek
247e829332 Proper if-else {} style 2014-05-12 19:21:06 +02:00
Marco Martin
39047a0ab8 layout fixes 2014-05-09 13:12:30 +02:00
Aurélien Gâteau
d0bd7f77bf cmake warnings--
No need to define projects if we don't use any ${project}_* var.
2014-04-26 02:10:23 +02:00
Kevin Ottens
72ba7b4146 Apply the astyle-kdelibs script 2014-04-26 01:48:37 +02:00
Marco Martin
82e9bd46d0 don't depend from Qt5Declarative
That's the qt5 port of QGraphicsView-based QML
2014-03-31 18:37:28 +02:00
Sebastian Kügler
13ec787302 Improved contrast for highlighted and today's delegate 2014-02-21 01:22:24 +01:00
Sebastian Kügler
62580bc331 Port calendar to ToolTipArea 2014-01-09 05:26:20 +01:00
Sebastian Kügler
84b6e6a245 Adjustments for theme.textColor
textColor is now used from the theme, there it is made grey, similar
effect, less code, more consistency.
2013-12-28 01:05:09 +01:00
Martin Klapetek
c29773656e Make isToday compare actual dates
So we don't have to construct awkward strings everytime.
2013-11-27 00:23:41 +01:00
Martin Klapetek
6eea4da70d Use proper index validity checking 2013-11-27 00:22:57 +01:00
Martin Klapetek
cb4d7e8b4c Emit proper signals everywhere 2013-11-27 00:22:08 +01:00
Martin Klapetek
e80e2960c6 Shuffle the code around a bit
These methods are in the middle of other together-related methods, for
no reason. Looks like corn flakes in the middle of beer. Sure, you can
do that, but why would you. Actually I should try that.
2013-11-27 00:21:22 +01:00
Martin Klapetek
33f2670f07 Remove empty Q_SIGNALS & Q_SLOTS 2013-11-27 00:13:44 +01:00
Martin Klapetek
f9cca29bd1 Make MonthMenu items not hardcoded
That's just wrong.
2013-11-27 00:07:30 +01:00
Martin Klapetek
5c6b1c9251 Rename isTodayMonth() to today()
Whoever named the method like that should be slapped over his fingers.
2013-11-26 17:28:15 +01:00
Martin Klapetek
ab97884c00 Calculate days before current month properly 2013-11-26 16:24:04 +01:00
Martin Klapetek
d1dc311345 Reinstate the month name capitalization
Some CLDR (locale) data used by Qt have standalone month names
starting with lower-case letters. So if we want to provide consistent
look across locales, we need to capitalize it ourselves

See https://bugreports.qt-project.org/browse/QTBUG-35100
2013-11-25 17:00:19 +01:00
Martin Klapetek
580d7d198a Revert capitalizing the month's name
That's a locale thing/bug.
2013-11-25 13:42:54 +01:00
Martin Klapetek
ff47006845 Add some docs to Calendar binginds 2013-11-25 13:24:49 +01:00
Martin Klapetek
224e1a620b Make the calendar applet follow current locale with first day in week
Also rename startDay property to firstDayOfWeek property so it's more
clear what it does. Handling the first day of week is changed a bit too
as QML uses 0 for Sunday while QDate uses 7 for Sunday, so the
getter/setter is accomodated to that fact and converts from 0 to 7 on
setting and vice-versa in the getter.

REVIEW: 114099
2013-11-25 13:24:30 +01:00
Mark Gaiser
d56f690fcf Add license to calendar component classes. 2013-11-13 13:41:41 +01:00
Sebastian Kügler
085e232641 Export MonthMenu, calendar 2013-11-13 06:05:52 +01:00
Sebastian Kügler
4337daa38e Various layout improvements 2013-11-13 05:28:42 +01:00
Sebastian Kügler
d248fe1955 clean up a bit 2013-11-12 05:56:10 +01:00
Sebastian Kügler
6f8d1b6ab2 correct initial date setting, theming improvement 2013-11-12 05:51:45 +01:00
Sebastian Kügler
6134503899 Navigation improvements
- fix today highlighting
- click on month name opens menu to switch month
- jump to today works
2013-11-12 04:53:50 +01:00
Sebastian Kügler
19db9c9663 Add calendar QML components to the Plugin
This allows us to keep minimal API, since the calendar view and import
really belong together. Also makes it a lot easier to provide a separate
Calendar Plasmoid.
2013-11-12 03:40:52 +01:00
Aleix Pol
1d3da96d88 Make sure that plasma-framework is not using anything from kdelibs4
Stop finding the packages
Remove KDE4_ includes
Remove unused LIBINTL finder, provided by kdelibs
2013-11-11 18:29:32 +01:00
Aleix Pol
af8a7bad7d Stop using Qt5Transitional in Plasma Frameworks
Removes the find_package(Qt5Transitional) and does the proper
find_package(Qt5) with the list of modules.

Most of the porting is about using the Qt5:: targets.

REVIEW: 113345
2013-10-22 00:40:17 +02:00
Alex Richardson
e597f66af2 fix some warnings
REVIEW: 113193
2013-10-13 15:44:08 +02:00
Sebastian Kügler
c7c9e8fefc Put steve's changes back in
CCMAIL:steveire@gmail.com
2013-10-13 02:00:32 +02:00
Sebastian Kügler
c2be5b6b12 Revert bef789642e4bc245b
That commit breaks the build, not finding qtest_kde.h, and cascading
errors from there.

CCMAIL:steveire@gmail.com
2013-10-12 21:47:07 +02:00
Stephen Kelly
bef789642e Remove obsolete include_directories use. 2013-10-12 15:25:19 +02:00
Mirko Boehm (Endocode)
a4af408b59 Fix initiaization order for Calendar. 2013-10-07 00:40:50 +02:00