-rw-r--r-- | core/pim/today/changelog | 7 | ||||
-rw-r--r-- | core/pim/today/clickablelabel.cpp | 31 | ||||
-rw-r--r-- | core/pim/today/clickablelabel.h | 20 | ||||
-rw-r--r-- | core/pim/today/opie-today.control | 2 | ||||
-rw-r--r-- | core/pim/today/today.cpp | 4 | ||||
-rw-r--r-- | core/pim/today/today.h | 6 | ||||
-rw-r--r-- | core/pim/today/today.pro | 4 |
7 files changed, 15 insertions, 59 deletions
diff --git a/core/pim/today/changelog b/core/pim/today/changelog index 0bc5fe0..c687cea 100644 --- a/core/pim/today/changelog +++ b/core/pim/today/changelog | |||
@@ -1,24 +1,31 @@ | |||
1 | 0.3.3 | ||
2 | |||
3 | * Changed the logo so it better scales to bigger display and also | ||
4 | made the "Today" string translatable. | ||
5 | * some am/pm fixes | ||
6 | * clickable labels now in libopie | ||
7 | |||
1 | 0.3.2 | 8 | 0.3.2 |
2 | 9 | ||
3 | * Autostart is now more configurable. You can decide how long | 10 | * Autostart is now more configurable. You can decide how long |
4 | the ipaq has to has been suspended, before autostart is triggered.(Opie | 11 | the ipaq has to has been suspended, before autostart is triggered.(Opie |
5 | only) | 12 | only) |
6 | * am/pm time optinal (autodetect) | 13 | * am/pm time optinal (autodetect) |
7 | 14 | ||
8 | 0.3.1 | 15 | 0.3.1 |
9 | 16 | ||
10 | * fixed the wrong color of the buttons | 17 | * fixed the wrong color of the buttons |
11 | * better translation (thanks carsten and others) | 18 | * better translation (thanks carsten and others) |
12 | * fixes memory leaks | 19 | * fixes memory leaks |
13 | * bugfixes in calendar part, now location and note are working again. | 20 | * bugfixes in calendar part, now location and note are working again. |
14 | 21 | ||
15 | 0.3.0 | 22 | 0.3.0 |
16 | 23 | ||
17 | * today uses now tododb from libopie. So major changes in the todo part: | 24 | * today uses now tododb from libopie. So major changes in the todo part: |
18 | - overdue items on top | 25 | - overdue items on top |
19 | - then sorted by date, then by priority | 26 | - then sorted by date, then by priority |
20 | * some cleanups | 27 | * some cleanups |
21 | * speed optimisations | 28 | * speed optimisations |
22 | 29 | ||
23 | 0.2.9 | 30 | 0.2.9 |
24 | 31 | ||
diff --git a/core/pim/today/clickablelabel.cpp b/core/pim/today/clickablelabel.cpp deleted file mode 100644 index e11cef6..0000000 --- a/core/pim/today/clickablelabel.cpp +++ b/dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | #include "clickablelabel.h" | ||
2 | |||
3 | ClickableLabel::ClickableLabel(QWidget* parent, | ||
4 | const char* name, | ||
5 | WFlags fl) : | ||
6 | QLabel(parent,name,fl) | ||
7 | { | ||
8 | setFrameShape(NoFrame); | ||
9 | setFrameShadow(Sunken); | ||
10 | } | ||
11 | |||
12 | void ClickableLabel::mousePressEvent( QMouseEvent *e ) { | ||
13 | setFrameShape(Panel); | ||
14 | repaint(); | ||
15 | } | ||
16 | |||
17 | void ClickableLabel::mouseReleaseEvent( QMouseEvent *e ) { | ||
18 | setFrameShape(NoFrame); | ||
19 | repaint(); | ||
20 | if (rect().contains(e->pos())) { | ||
21 | emit clicked(); | ||
22 | } | ||
23 | } | ||
24 | |||
25 | void ClickableLabel::mouseMoveEvent( QMouseEvent *e ) { | ||
26 | if (rect().contains(e->pos())) { | ||
27 | setFrameShape(Panel); | ||
28 | } else { | ||
29 | setFrameShape(NoFrame); | ||
30 | } | ||
31 | } | ||
diff --git a/core/pim/today/clickablelabel.h b/core/pim/today/clickablelabel.h deleted file mode 100644 index b6d33ad..0000000 --- a/core/pim/today/clickablelabel.h +++ b/dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef CLICKABLELABEL | ||
2 | #define CLICKABLELABEL | ||
3 | |||
4 | #include <qlabel.h> | ||
5 | |||
6 | class ClickableLabel: public QLabel | ||
7 | { | ||
8 | Q_OBJECT | ||
9 | public: | ||
10 | ClickableLabel(QWidget* parent = 0, const char* name = 0, | ||
11 | WFlags fl = 0); | ||
12 | protected: | ||
13 | void mousePressEvent( QMouseEvent *e ); | ||
14 | void mouseReleaseEvent( QMouseEvent *e ); | ||
15 | void mouseMoveEvent( QMouseEvent *e ); | ||
16 | signals: | ||
17 | void clicked(); | ||
18 | }; | ||
19 | |||
20 | #endif | ||
diff --git a/core/pim/today/opie-today.control b/core/pim/today/opie-today.control index cf982fd..da9d9fa 100644 --- a/core/pim/today/opie-today.control +++ b/core/pim/today/opie-today.control | |||
@@ -1,16 +1,16 @@ | |||
1 | Files: bin/today apps/Applications/today.desktop pics/today/* | 1 | Files: bin/today apps/Applications/today.desktop pics/today/* |
2 | Priority: optional | 2 | Priority: optional |
3 | Section: opie/applications | 3 | Section: opie/applications |
4 | Maintainer: Maximilian Reiß <max.reiss@gmx.de> | 4 | Maintainer: Maximilian Reiß <max.reiss@gmx.de> |
5 | Architecture: arm | 5 | Architecture: arm |
6 | Version: 0.3.2-$SUB_VERSION | 6 | Version: 0.3.3-$SUB_VERSION |
7 | Depends: opie-base ($QPE_VERSION), libopie ($QPE_VERSION) | 7 | Depends: opie-base ($QPE_VERSION), libopie ($QPE_VERSION) |
8 | License: GPL | 8 | License: GPL |
9 | Description: today screen | 9 | Description: today screen |
10 | This today screen app gives an overview of appointments | 10 | This today screen app gives an overview of appointments |
11 | and todos. | 11 | and todos. |
12 | It also shows incoming and outgoing mails from opiemail. | 12 | It also shows incoming and outgoing mails from opiemail. |
13 | When using Opie (opie.handhelds.org) today can be autostarted | 13 | When using Opie (opie.handhelds.org) today can be autostarted |
14 | on resume. | 14 | on resume. |
15 | It is highly configurable. | 15 | It is highly configurable. |
16 | 16 | ||
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index 1b4408c..0f4cbdb 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp | |||
@@ -452,49 +452,49 @@ void Today::startTodo() { | |||
452 | /* | 452 | /* |
453 | * launch opiemail | 453 | * launch opiemail |
454 | */ | 454 | */ |
455 | void Today::startMail() { | 455 | void Today::startMail() { |
456 | QCopEnvelope e("QPE/System", "execute(QString)"); | 456 | QCopEnvelope e("QPE/System", "execute(QString)"); |
457 | e << QString("opiemail"); | 457 | e << QString("opiemail"); |
458 | //Right now start both, maybe decide which to rum via config file .. | 458 | //Right now start both, maybe decide which to rum via config file .. |
459 | QCopEnvelope f("QPE/System", "execute(QString)"); | 459 | QCopEnvelope f("QPE/System", "execute(QString)"); |
460 | f << QString("qtmail"); | 460 | f << QString("qtmail"); |
461 | } | 461 | } |
462 | 462 | ||
463 | 463 | ||
464 | Today::~Today() { | 464 | Today::~Today() { |
465 | } | 465 | } |
466 | 466 | ||
467 | /* | 467 | /* |
468 | * Gets the events for the current day, if it should get all dates | 468 | * Gets the events for the current day, if it should get all dates |
469 | */ | 469 | */ |
470 | DateBookEvent::DateBookEvent(const EffectiveEvent &ev, | 470 | DateBookEvent::DateBookEvent(const EffectiveEvent &ev, |
471 | QWidget* parent, | 471 | QWidget* parent, |
472 | int SHOW_LOCATION, | 472 | int SHOW_LOCATION, |
473 | int SHOW_NOTES, | 473 | int SHOW_NOTES, |
474 | const char* name, | 474 | const char* name, |
475 | WFlags fl) : | 475 | WFlags fl) : |
476 | ClickableLabel(parent,name,fl), event(ev) { | 476 | OClickableLabel(parent,name,fl), event(ev) { |
477 | 477 | ||
478 | QString msg; | 478 | QString msg; |
479 | //QTime time = QTime::currentTime(); | 479 | //QTime time = QTime::currentTime(); |
480 | 480 | ||
481 | Config config( "qpe" ); | 481 | Config config( "qpe" ); |
482 | config.setGroup( "Time" ); | 482 | config.setGroup( "Time" ); |
483 | // if 24 h format | 483 | // if 24 h format |
484 | ampm = config.readBoolEntry( "AMPM", TRUE ); | 484 | ampm = config.readBoolEntry( "AMPM", TRUE ); |
485 | 485 | ||
486 | 486 | ||
487 | if (!ONLY_LATER) { | 487 | if (!ONLY_LATER) { |
488 | msg += "<B>" + (ev).description() + "</B>"; | 488 | msg += "<B>" + (ev).description() + "</B>"; |
489 | if ( (ev).event().hasAlarm() ) { | 489 | if ( (ev).event().hasAlarm() ) { |
490 | msg += " <b>[with alarm]</b>"; | 490 | msg += " <b>[with alarm]</b>"; |
491 | } | 491 | } |
492 | // include location or not | 492 | // include location or not |
493 | if (SHOW_LOCATION == 1) { | 493 | if (SHOW_LOCATION == 1) { |
494 | msg += "<BR><i>" + (ev).location() + "</i>"; | 494 | msg += "<BR><i>" + (ev).location() + "</i>"; |
495 | } | 495 | } |
496 | 496 | ||
497 | if ( (TimeString::timeString(QTime((ev).event().start().time()) ) == "00:00") && (TimeString::timeString(QTime((ev).event().end().time()) ) == "23:59") ) { | 497 | if ( (TimeString::timeString(QTime((ev).event().start().time()) ) == "00:00") && (TimeString::timeString(QTime((ev).event().end().time()) ) == "23:59") ) { |
498 | msg += "<br>All day"; | 498 | msg += "<br>All day"; |
499 | } else { | 499 | } else { |
500 | // start time of event | 500 | // start time of event |
@@ -519,49 +519,49 @@ QString DateBookEvent::ampmTime(QTime tm) { | |||
519 | QString s; | 519 | QString s; |
520 | if( ampm ) { | 520 | if( ampm ) { |
521 | int hour = tm.hour(); | 521 | int hour = tm.hour(); |
522 | if (hour == 0) | 522 | if (hour == 0) |
523 | hour = 12; | 523 | hour = 12; |
524 | if (hour > 12) | 524 | if (hour > 12) |
525 | hour -= 12; | 525 | hour -= 12; |
526 | s.sprintf( "%2d:%02d %s", hour, tm.minute(), | 526 | s.sprintf( "%2d:%02d %s", hour, tm.minute(), |
527 | (tm.hour() >= 12) ? "PM" : "AM" ); | 527 | (tm.hour() >= 12) ? "PM" : "AM" ); |
528 | return s; | 528 | return s; |
529 | } else { | 529 | } else { |
530 | s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); | 530 | s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); |
531 | return s; | 531 | return s; |
532 | } | 532 | } |
533 | 533 | ||
534 | } | 534 | } |
535 | 535 | ||
536 | 536 | ||
537 | DateBookEventLater::DateBookEventLater(const EffectiveEvent &ev, | 537 | DateBookEventLater::DateBookEventLater(const EffectiveEvent &ev, |
538 | QWidget* parent, | 538 | QWidget* parent, |
539 | int SHOW_LOCATION, | 539 | int SHOW_LOCATION, |
540 | int SHOW_NOTES, | 540 | int SHOW_NOTES, |
541 | const char* name, | 541 | const char* name, |
542 | WFlags fl) : | 542 | WFlags fl) : |
543 | ClickableLabel(parent,name,fl), event(ev) { | 543 | OClickableLabel(parent,name,fl), event(ev) { |
544 | 544 | ||
545 | QString msg; | 545 | QString msg; |
546 | QTime time = QTime::currentTime(); | 546 | QTime time = QTime::currentTime(); |
547 | 547 | ||
548 | Config config( "qpe" ); | 548 | Config config( "qpe" ); |
549 | config.setGroup( "Time" ); | 549 | config.setGroup( "Time" ); |
550 | // if 24 h format | 550 | // if 24 h format |
551 | ampm = config.readBoolEntry( "AMPM", TRUE ); | 551 | ampm = config.readBoolEntry( "AMPM", TRUE ); |
552 | 552 | ||
553 | 553 | ||
554 | if ((time.toString() <= TimeString::dateString((ev).event().end())) ) { | 554 | if ((time.toString() <= TimeString::dateString((ev).event().end())) ) { |
555 | // show only later appointments | 555 | // show only later appointments |
556 | msg += "<B>" + (ev).description() + "</B>"; | 556 | msg += "<B>" + (ev).description() + "</B>"; |
557 | if ( (ev).event().hasAlarm() ) { | 557 | if ( (ev).event().hasAlarm() ) { |
558 | msg += " <b>[with alarm]</b>"; | 558 | msg += " <b>[with alarm]</b>"; |
559 | } | 559 | } |
560 | // include location or not | 560 | // include location or not |
561 | if (SHOW_LOCATION == 1) { | 561 | if (SHOW_LOCATION == 1) { |
562 | msg += "<BR><i>" + (ev).location() + "</i>"; | 562 | msg += "<BR><i>" + (ev).location() + "</i>"; |
563 | } | 563 | } |
564 | 564 | ||
565 | if ( (TimeString::timeString(QTime((ev).event().start().time()) ) == "00:00") && (TimeString::timeString(QTime((ev).event().end().time()) ) == "23:59") ) { | 565 | if ( (TimeString::timeString(QTime((ev).event().start().time()) ) == "00:00") && (TimeString::timeString(QTime((ev).event().end().time()) ) == "23:59") ) { |
566 | msg += "<br>All day"; | 566 | msg += "<br>All day"; |
567 | } else { | 567 | } else { |
diff --git a/core/pim/today/today.h b/core/pim/today/today.h index d265d67..32bb4a3 100644 --- a/core/pim/today/today.h +++ b/core/pim/today/today.h | |||
@@ -4,113 +4,113 @@ | |||
4 | * --------------------- | 4 | * --------------------- |
5 | * | 5 | * |
6 | * begin : Sun 10 17:20:00 CEST 2002 | 6 | * begin : Sun 10 17:20:00 CEST 2002 |
7 | * copyright : (c) 2002 by Maximilian Reiß | 7 | * copyright : (c) 2002 by Maximilian Reiß |
8 | * email : max.reiss@gmx.de | 8 | * email : max.reiss@gmx.de |
9 | * | 9 | * |
10 | */ | 10 | */ |
11 | /*************************************************************************** | 11 | /*************************************************************************** |
12 | * * | 12 | * * |
13 | * This program is free software; you can redistribute it and/or modify * | 13 | * This program is free software; you can redistribute it and/or modify * |
14 | * it under the terms of the GNU General Public License as published by * | 14 | * it under the terms of the GNU General Public License as published by * |
15 | * the Free Software Foundation; either version 2 of the License, or * | 15 | * the Free Software Foundation; either version 2 of the License, or * |
16 | * (at your option) any later version. * | 16 | * (at your option) any later version. * |
17 | * * | 17 | * * |
18 | ***************************************************************************/ | 18 | ***************************************************************************/ |
19 | 19 | ||
20 | 20 | ||
21 | #ifndef TODAY_H | 21 | #ifndef TODAY_H |
22 | #define TODAY_H | 22 | #define TODAY_H |
23 | 23 | ||
24 | #include <qpe/datebookdb.h> | 24 | #include <qpe/datebookdb.h> |
25 | #include <qpe/event.h> | 25 | #include <qpe/event.h> |
26 | 26 | ||
27 | #include <opie/tododb.h> | 27 | #include <opie/tododb.h> |
28 | #include <opie/oclickablelabel.h> | ||
28 | 29 | ||
29 | #include <qdatetime.h> | 30 | #include <qdatetime.h> |
30 | #include <qlist.h> | 31 | #include <qlist.h> |
31 | 32 | ||
32 | #include "todayconfig.h" | 33 | #include "todayconfig.h" |
33 | #include "todaybase.h" | 34 | #include "todaybase.h" |
34 | #include "clickablelabel.h" | ||
35 | 35 | ||
36 | class QVBoxLayout; | 36 | class QVBoxLayout; |
37 | 37 | ||
38 | class Today : public TodayBase { | 38 | class Today : public TodayBase { |
39 | Q_OBJECT | 39 | Q_OBJECT |
40 | 40 | ||
41 | public: | 41 | public: |
42 | Today( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); | 42 | Today( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); |
43 | ~Today(); | 43 | ~Today(); |
44 | 44 | ||
45 | private slots: | 45 | private slots: |
46 | void startConfig(); | 46 | void startConfig(); |
47 | void startTodo(); | 47 | void startTodo(); |
48 | void startDatebook(); | 48 | void startDatebook(); |
49 | void startMail(); | 49 | void startMail(); |
50 | void draw(); | 50 | void draw(); |
51 | void editEvent(const Event &e); | 51 | void editEvent(const Event &e); |
52 | private: | 52 | private: |
53 | void init(); | 53 | void init(); |
54 | void getDates(); | 54 | void getDates(); |
55 | void getTodo(); | 55 | void getTodo(); |
56 | void getMail(); | 56 | void getMail(); |
57 | void autoStart(); | 57 | void autoStart(); |
58 | bool checkIfModified(); | 58 | bool checkIfModified(); |
59 | void setOwnerField(); | 59 | void setOwnerField(); |
60 | void setOwnerField(QString &string); | 60 | void setOwnerField(QString &string); |
61 | private slots: | 61 | private slots: |
62 | void channelReceived(const QCString &msg, const QByteArray & data); | 62 | void channelReceived(const QCString &msg, const QByteArray & data); |
63 | 63 | ||
64 | private: | 64 | private: |
65 | DateBookDB *db; | 65 | DateBookDB *db; |
66 | ToDoDB *todo; | 66 | ToDoDB *todo; |
67 | todayconfig *conf; | 67 | todayconfig *conf; |
68 | QWidget* AllDateBookEvents; | 68 | QWidget* AllDateBookEvents; |
69 | //Config cfg; | 69 | //Config cfg; |
70 | int MAX_LINES_TASK; | 70 | int MAX_LINES_TASK; |
71 | int MAX_CHAR_CLIP; | 71 | int MAX_CHAR_CLIP; |
72 | int MAX_LINES_MEET; | 72 | int MAX_LINES_MEET; |
73 | int SHOW_LOCATION; | 73 | int SHOW_LOCATION; |
74 | int SHOW_NOTES; | 74 | int SHOW_NOTES; |
75 | }; | 75 | }; |
76 | 76 | ||
77 | class DateBookEvent: public ClickableLabel { | 77 | class DateBookEvent: public OClickableLabel { |
78 | Q_OBJECT | 78 | Q_OBJECT |
79 | public: | 79 | public: |
80 | DateBookEvent(const EffectiveEvent &ev, | 80 | DateBookEvent(const EffectiveEvent &ev, |
81 | QWidget* parent = 0, | 81 | QWidget* parent = 0, |
82 | int SHOW_LOCATION = 0, | 82 | int SHOW_LOCATION = 0, |
83 | int SHOW_NOTES = 0, | 83 | int SHOW_NOTES = 0, |
84 | const char* name = 0, | 84 | const char* name = 0, |
85 | WFlags fl = 0); | 85 | WFlags fl = 0); |
86 | signals: | 86 | signals: |
87 | void editEvent(const Event &e); | 87 | void editEvent(const Event &e); |
88 | private slots: | 88 | private slots: |
89 | void editMe(); | 89 | void editMe(); |
90 | private: | 90 | private: |
91 | QString ampmTime(QTime); | 91 | QString ampmTime(QTime); |
92 | const EffectiveEvent event; | 92 | const EffectiveEvent event; |
93 | bool ampm; | 93 | bool ampm; |
94 | }; | 94 | }; |
95 | 95 | ||
96 | class DateBookEventLater: public ClickableLabel { | 96 | class DateBookEventLater: public OClickableLabel { |
97 | Q_OBJECT | 97 | Q_OBJECT |
98 | public: | 98 | public: |
99 | DateBookEventLater(const EffectiveEvent &ev, | 99 | DateBookEventLater(const EffectiveEvent &ev, |
100 | QWidget* parent = 0, | 100 | QWidget* parent = 0, |
101 | int SHOW_LOCATION = 0, | 101 | int SHOW_LOCATION = 0, |
102 | int SHOW_NOTES = 0, | 102 | int SHOW_NOTES = 0, |
103 | const char* name = 0, | 103 | const char* name = 0, |
104 | WFlags fl = 0); | 104 | WFlags fl = 0); |
105 | signals: | 105 | signals: |
106 | void editEvent(const Event &e); | 106 | void editEvent(const Event &e); |
107 | private slots: | 107 | private slots: |
108 | void editMe(); | 108 | void editMe(); |
109 | private: | 109 | private: |
110 | QString ampmTime(QTime); | 110 | QString ampmTime(QTime); |
111 | const EffectiveEvent event; | 111 | const EffectiveEvent event; |
112 | bool ampm; | 112 | bool ampm; |
113 | }; | 113 | }; |
114 | 114 | ||
115 | #endif // TODAY_H | 115 | #endif // TODAY_H |
116 | 116 | ||
diff --git a/core/pim/today/today.pro b/core/pim/today/today.pro index 2d37b5d..f40edca 100644 --- a/core/pim/today/today.pro +++ b/core/pim/today/today.pro | |||
@@ -1,24 +1,24 @@ | |||
1 | TEMPLATE= app | 1 | TEMPLATE= app |
2 | #CONFIG = qt warn_on debug | 2 | #CONFIG = qt warn_on debug |
3 | CONFIG = qt warn_on release | 3 | CONFIG = qt warn_on release |
4 | HEADERS = today.h todaybase.h todayconfig.h clickablelabel.h | 4 | HEADERS = today.h todaybase.h todayconfig.h |
5 | SOURCES = main.cpp today.cpp todaybase.cpp todayconfig.cpp clickablelabel.cpp | 5 | SOURCES = main.cpp today.cpp todaybase.cpp todayconfig.cpp |
6 | 6 | ||
7 | INCLUDEPATH+= $(OPIEDIR)/include | 7 | INCLUDEPATH+= $(OPIEDIR)/include |
8 | DEPENDPATH+= $(OPIEDIR)/include | 8 | DEPENDPATH+= $(OPIEDIR)/include |
9 | LIBS += -lqpe -lopie | 9 | LIBS += -lqpe -lopie |
10 | INTERFACES= | 10 | INTERFACES= |
11 | TARGET = today | 11 | TARGET = today |
12 | DESTDIR = $(OPIEDIR)/bin | 12 | DESTDIR = $(OPIEDIR)/bin |
13 | TRANSLATIONS = ../i18n/pt_BR/today.ts | 13 | TRANSLATIONS = ../i18n/pt_BR/today.ts |
14 | TRANSLATIONS += ../i18n/de/today.ts | 14 | TRANSLATIONS += ../i18n/de/today.ts |
15 | TRANSLATIONS += ../i18n/en/today.ts | 15 | TRANSLATIONS += ../i18n/en/today.ts |
16 | TRANSLATIONS += ../i18n/hu/today.ts | 16 | TRANSLATIONS += ../i18n/hu/today.ts |
17 | TRANSLATIONS += ../i18n/sl/today.ts | 17 | TRANSLATIONS += ../i18n/sl/today.ts |
18 | TRANSLATIONS += ../i18n/ja/today.ts | 18 | TRANSLATIONS += ../i18n/ja/today.ts |
19 | TRANSLATIONS += ../i18n/ko/today.ts | 19 | TRANSLATIONS += ../i18n/ko/today.ts |
20 | TRANSLATIONS += ../i18n/no/today.ts | 20 | TRANSLATIONS += ../i18n/no/today.ts |
21 | TRANSLATIONS += ../i18n/zh_CN/today.ts | 21 | TRANSLATIONS += ../i18n/zh_CN/today.ts |
22 | TRANSLATIONS += ../i18n/zh_TW/today.ts | 22 | TRANSLATIONS += ../i18n/zh_TW/today.ts |
23 | TRANSLATIONS += ../i18n/fr/today.ts | 23 | TRANSLATIONS += ../i18n/fr/today.ts |
24 | TRANSLATIONS += ../i18n/pl/today.ts | 24 | TRANSLATIONS += ../i18n/pl/today.ts |